【问题标题】:GridLayout support width issueGridLayout 支持宽度问题
【发布时间】:2013-12-08 09:19:11
【问题描述】:
我正在使用 support v7 GridLayout,但正如许多其他人指出的那样,它不能正确测量其子宽度。
在这个question 中,有一个解决方法,但该解决方法对我来说是随机的,对于某些值它有效,而对于某些子值它不起作用。
建议的解决方法:
android:layout_width="0dp"
app:layout_gravity="fill_horizontal"
我在运行时设置子值,所以我的猜测只是测量子宽度。
【问题讨论】:
标签:
android
grid-layout
android-support-library
【解决方案1】:
我使用您提到的解决方法解决了问题,建议在这里: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>
【解决方案2】:
android:layout_width="wrap_content"
android:layout_gravity="fill_horizontal"