Android layout_weight不适用于设备

时间:2012-12-06 15:52:27

标签: android layout

我为ListActivity行获得了两个不同的行为。 Eclipse Graphical Layout显示正确的行为,但在运行时,在设备上, layout:weight 似乎无法正常工作,Textview的大小调整为最小宽度,具体取决于text属性。

这就是我设置布局的方式。

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="60dp" 
    android:background="@color/defaultBg" 
    android:orientation="horizontal">

   <ImageButton
        android:id="@+id/myButton"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_marginLeft="5dp"
        android:layout_weight="2" 
        android:src="@drawable/ic_launcher"/>

   <TextView
           android:id="@+id/myText"
           android:layout_width="0dp"
           android:layout_height="fill_parent"
           android:layout_margin="5dp"
           android:background="#2288EE"
           android:layout_weight="6" android:text="Hello" android:textColor="@android:color/white"/>
</LinearLayout>

编辑:我刚发现LinearLayout没有填充listRow宽度。我还在努力找到解决方法

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

我自己解决了这个问题。问题不在上面发布的表格行布局中。问题出在父ListView的android:layout_width中,它设置为'wrap_content'而不是'fill_parent'。

感谢所有提供捐助的人!

答案 1 :(得分:0)

LinearLayout放置android:weightSum="8"。应该可以做到这一点,在我的设备上工作正常。

答案 2 :(得分:0)

尝试将android:scaleType =“fitCenter”添加到ImageButton。如果我没弄错的话,你的源Drawable太大了,因此使得ImageButton占用太多的水平空间。