如何布局列表项目以像行表一样工作?

问题描述:

我不想使用TableLayout,因为我的数据模型和用户界面完全符合ListView。但我需要列表项中的字段通过孔ListView在列中组织。我想在第二行使用大约4-5列的双行列表项模型。我知道如何为ListView制作自定义布局和自定义阵列适配器。问题是关于将TextView定位在列表项自定义布局中,以便它们很好地对齐。当然,我不能使用绝对宽度,因为有这么多的屏幕尺寸,但我想不出任何其他选项。如何布局列表项目以像行表一样工作?

如果你换你TextViewsLinearLayout那么你可以使用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. 我希望这是您想要的。

+0

是的,这似乎是最好的折衷方案,我会测试一下。 – 2012-02-06 20:49:52