我想在listview中显示值,其中行的所有5个值应该在所有维度上等于宽度和高度 这是我的list_view.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@id/tabsLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="12.0dip"
android:background="@color/transparent"
android:orientation="horizontal">
<TextView
android:id="@+id/text1"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_marginBottom="5.0dip"
android:layout_marginLeft="20dp"
android:layout_marginTop="5.0dip"
android:layout_weight="1"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="8.0dip"
android:textStyle="bold" />
<TextView
android:id="@id/text2"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_marginBottom="5.0dip"
android:layout_marginTop="5.0dip"
android:layout_weight="1"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="8.0dip"
android:textStyle="bold" />
<TextView
android:id="@id/text3"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_marginBottom="5.0dip"
android:layout_marginTop="5.0dip"
android:layout_weight="1"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="8.0dip"
android:textStyle="bold" />
<TextView
android:id="@id/text4"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_marginBottom="5.0dip"
android:layout_marginTop="5.0dip"
android:layout_weight="1"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="8.0dip"
android:textStyle="bold" />
<TextView
android:id="@id/text5"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_marginBottom="5.0dip"
android:layout_marginRight="20dp"
android:layout_marginTop="5.0dip"
android:layout_weight="1"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="8.0dip"
android:textStyle="bold" />
</LinearLayout>
但水平分布并不均等。在预览中,它显示5个矩形文本视图,但当它在listview中的值时,textview将变为自动适合,以便textview缩小。
答案 0 :(得分:4)
您应该为每layout_weight="0.20"
设置TextView
,这意味着每TextView
占用20%的空间。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tabsLayout"
android:layout_marginTop="12.0dip"
android:orientation="horizontal">
<TextView
android:id="@+id/text1"
android:text="EEEEEEEE"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_weight="0.20"
android:layout_marginBottom="5.0dip"
android:layout_marginTop="5.0dip"
android:gravity="center"
android:textColor="#000000"
android:textSize="8.0dip"
android:textStyle="bold" />
<TextView
android:id="@+id/text2"
android:text="DDDDDDDDD"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_weight="0.20"
android:layout_marginBottom="5.0dip"
android:layout_marginTop="5.0dip"
android:gravity="center"
android:textColor="#000000"
android:textSize="8.0dip"
android:textStyle="bold" />
<TextView
android:id="@+id/text3"
android:text="CCCCCCCCCC"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_weight="0.20"
android:layout_marginBottom="5.0dip"
android:layout_marginTop="5.0dip"
android:gravity="center"
android:textColor="#000000"
android:textSize="8.0dip"
android:textStyle="bold" />
<TextView
android:id="@+id/text4"
android:text="BBBBBBBBBBB"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_weight="0.20"
android:layout_marginBottom="5.0dip"
android:layout_marginTop="5.0dip"
android:gravity="center"
android:textColor="#000000"
android:textSize="8.0dip"
android:textStyle="bold" />
<TextView
android:id="@+id/text5"
android:text="AAAAAAAAAA"
android:layout_width="0dp"
android:layout_height="40.0dip"
android:layout_weight="0.20"
android:layout_marginBottom="5.0dip"
android:layout_marginTop="5.0dip"
android:gravity="center"
android:textColor="#000000"
android:textSize="8.0dip"
android:textStyle="bold" />
</LinearLayout>
答案 1 :(得分:2)
尝试将weightSum添加到linearLayout:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/tabsLayout"
android:layout_marginTop="12.0dip"
android:orientation="horizontal"
android:weightSum="5">
答案 2 :(得分:1)
布局权重应该有效,请尝试删除Textview的重力属性。如果仍然无法正常工作,请使用weightSum,为LinearLayout设置weightSum并将其分配给TextViews
前:
<LinearLayout
...
...
android:weightSum="5">
<TextView
..
..
android:layout_weight="1"/>
<TextView
..
..
android:layout_weight="1"/>
<TextView
..
..
android:layout_weight="1"/>
<TextView
..
..
android:layout_weight="1"/>
<TextView
..
..
android:layout_weight="1"/>
</LinearLayout>
这可能有用。