Android 如何调整行的大小,使它们始终填充父行的整个高度?

Android 如何调整行的大小,使它们始终填充父行的整个高度?,android,resize,android-linearlayout,Android,Resize,Android Linearlayout,我有一个固定大小的父级LinearLayout。在onCreate()中,我加载数据并将行动态添加到父布局中。加载1-10行中的任意位置。我希望行始终填充父级,例如,如果我有2行,则每行的高度应为父级的50%(50%+50%=100%)。如果我有3行,每行应使用33%的父高度等 我尝试使用OnGlobalLayoutListener获取父级的高度并动态调整行的大小,不幸的是,当我运行应用程序时,调整大小最多是任意的。有时会调整行的大小,有时会在大约0.5秒的明显延迟后调整行的大小 有没有更好的方

我有一个固定大小的父级
LinearLayout
。在
onCreate()
中,我加载数据并将行动态添加到父布局中。加载1-10行中的任意位置。我希望行始终填充父级,例如,如果我有2行,则每行的高度应为父级的50%(50%+50%=100%)。如果我有3行,每行应使用33%的父高度等

我尝试使用
OnGlobalLayoutListener
获取父级的高度并动态调整行的大小,不幸的是,当我运行应用程序时,调整大小最多是任意的。有时会调整行的大小,有时会在大约0.5秒的明显延迟后调整行的大小


有没有更好的方法来实现这一点?可能已经在XML中,例如使用
layout\u weight
(假设行仅在代码中添加)?

可以通过将父线性布局上的设置为其内部的行数来实现这一点。如果这是一个垂直的项目列表,那么您可以将每行的高度设置为0,并将其设置为1。如果这是一个水平项目列表,您也可以这样做,但将宽度设置为0,将权重设置为1。

对每行使用布局。\u weight=“1”。谢谢,这是不可能的,因为行本身是线性布局,没有此功能。另外,我认为重量不是垂直的,尽管我可能会弄错。它垂直的工作只是取决于你父母的直线布局的方向。LinearLayouts确实具有“权重”特性。在这里查找weightSum:它甚至可以在不设置weightSum的情况下工作。在充气器中指定父级后,行的大小将正确调整。谢谢你,我知道有一个简单的解决办法,我想我现在只是个白痴哈哈:D