将parent上的wrap_content与child上的fill_parent结合起来

nob*_*nob 41 xml android position android-linearlayout

将线性布局的两个或多个元素设置为相同的高度似乎是一个很大的问题.

我想将一行中的四个按钮设置为相同的高度.

android:layout_height ="wrap_content"暂时执行,但当其中一个按钮上的文本长于一行时,此按钮会增加,因此比其他按钮大.由于不同的本地化我不知道,何时以及哪个按钮可能有第二行.

所以我的想法是,将parent linearlayout设置为android:layout_height ="wrap_content"和所有(!)子高度到android:layout_height ="fill_parent".

这是有效的(所有按钮都有相同的大小),但我不确定这是否会导致任何其他问题?因为父母从孩子那里得到它的高度,反之亦然.

Rom*_*Guy 56

从理论上讲,你所描述的内容不应该起作用("因为父母从孩子那里获得它的高度,反之亦然".)但是,我们使它在LinearLayout中工作,因为它是一个非常常见的用例.我最近添加了对FrameLayout的类似支持(此功能应该是Honeycomb的一部分.)因此,您所做的非常有效,并且可以正常工作.

  • 即使接受它有效,我仍然对它为何起作用感到困惑.由于递归性质(父母要求孩子和孩子回来),这有点奇怪.那么是否有一个实际的文档说明布局过程在这种情况下如何工作?特别是,父母选择其大小为最大孩子的大小.因此,所有具有相同大小的孩子的结果.这记录了吗? (3认同)