嵌套LinearLayout中未考虑重量比例

时间:2011-12-23 17:33:51

标签: android android-layout

我有这样的代码:

...
    <LinearLayout
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"
       android:weightSum="10">

    <LinearLayout
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" /> 

    <LinearLayout
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_weight="8"> 

    <TextView android:id="@+id/text2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" /> 

     </LinearLayout>
...

此代码嵌套在具有相同weightSum和weight的其他linearlayout中。 我使用的SDK是1.6 Android。我无法弄清楚为什么如果我删除中间的TextView,分配给权重等于1的元素的空间量会有所不同。似乎即使TextView的文本大小(字符数)更多,重量为1的LinearLayout也会变得更小..这怎么可能?

2 个答案:

答案 0 :(得分:3)

我找到了解决方案。实际上我需要使用weight属性将每个容器的Layout_width设置为0px。

答案 1 :(得分:0)

据我所知,你的体重应该是12岁,而不是10岁。 第一个LinearLayout的权重= 2,第二个权重= 8,第三个权重= 2.

它可能会解决您的问题!