如何布局列表项目以像行表一样工作?
问题描述:
我不想使用TableLayout
,因为我的数据模型和用户界面完全符合ListView
。但我需要列表项中的字段通过孔ListView
在列中组织。我想在第二行使用大约4-5列的双行列表项模型。我知道如何为ListView
制作自定义布局和自定义阵列适配器。问题是关于将TextView
定位在列表项自定义布局中,以便它们很好地对齐。当然,我不能使用绝对宽度,因为有这么多的屏幕尺寸,但我想不出任何其他选项。如何布局列表项目以像行表一样工作?
答
如果你换你TextViews
在LinearLayout
那么你可以使用layout_weight
属性:
<LinearLayout android:orientation="horizontal">
<TextView android:layout_width="0dp" android:layout_weight="25">
<TextView android:layout_width="0dp" android:layout_weight="25">
<TextView android:layout_width="0dp" android:layout_weight="25">
<TextView android:layout_width="0dp" android:layout_weight="25">
<LinearLayout>
这会使你TextView
占据可用宽度的25%,并应让他们垂直对齐(你也可以设置左边的TexView
的重力)。上面的代码是4 TextViews
的示例,如果您有或多或少必须修改layout_weight
属性,以便所有layout_weight
属性的总和为100. 我希望这是您想要的。
是的,这似乎是最好的折衷方案,我会测试一下。 – 2012-02-06 20:49:52