我正在使用支持v7 GridLayout
,但正如许多其他人所指出的那样,它并未正确测量其子宽度。
在这个question中,有一个解决方法,但是对我来说,变通方法是随机工作的,对于某些值可行,对于某些子值,它不会。
建议的解决方法:
android:layout_width="0dp"
app:layout_gravity="fill_horizontal"
我在运行时设置子值,所以我的猜测只是测量子宽度。
答案 0 :(得分:0)
我使用您在此处提出的解决方法解决了问题:Android GridLayout not clipping text to column width此处Daniel Lew's Coding Thoughts GridLayout Child View Clipping Issues正常工作:
android:layout_width="0dp"
app:layout_gravity="fill_horizontal"
就我而言,当我应用于最后一列中的所有孩子时,即使以编程方式设置子值,它也能正常工作,如下例所示:
<android.support.v7.widget.GridLayout
xmlns:grid="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/GridView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
grid:columnCount="2"
grid:rowCount="2"
grid:alignmentMode="alignBounds">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Label1"
android:id="@+id/textViewLabel1"
grid:layout_row="0"
grid:layout_column="0" />
<TextView
android:layout_width="0dp"
grid:layout_gravity='fill_horizontal'
android:layout_height="wrap_content"
android:text="Value1"
android:id="@+id/textViewValue1"
grid:layout_row="0"
grid:layout_column="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="Label2"
android:id="@+id/textViewLabel2"
grid:layout_row="1"
grid:layout_column="0" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
grid:layout_gravity='fill_horizontal'
android:text="Value2"
android:id="@+id/textViewValue2"
grid:layout_row="1"
grid:layout_column="1" />
</android.support.v7.widget.GridLayout>
答案 1 :(得分:0)
android:layout_width="wrap_content"
android:layout_gravity="fill_horizontal"