【发布时间】:2014-06-28 03:29:01
【问题描述】:
目前我正在尝试使用 GridView 创建一个图像列表,其下方有一个 textview,布局应该尽可能多地适应它们的宽度。
当使用 GridView 时:
<GridView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/gridView"
android:numColumns="auto_fit"
android:layout_gravity="center_horizontal|top"
android:clickable="false"
/>
预期的行为是列会自动包装内容并在宽度上尽可能多地容纳项目?
grid item layout里面的textview都设置为wrap_content,除了ImageView,它的静态宽度是75dip。
我看到以下代码的布局:
XX
XX
XX
如果专门设置了列宽,我很容易得到:
XXXX
XXXX
XXXX
【问题讨论】:
-
gridView 列的宽度应该与 gridview 列内的最大尺寸内容相匹配(如果找到的话),并在其后跟上其余的内容。
-
确定单元格内容最大宽度的唯一方法是实例化和填充网格中的所有单元格并测量它们,这是一项非常繁重的操作,基本上使视图虚拟化(只绘制可见)无用。