如何在
Android ListView中创建列?我有这个列表项布局xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="horizontal">
<TextView android:layout_weight=".3" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/hour"
android:gravity="center" />
<ImageView android:id="@+id/symbol" android:scaleType="fitCenter"
android:layout_gravity="center_horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_weight=".5" />
<TextView android:layout_weight=".8" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/temperature"
android:gravity="center" />
<TextView android:layout_weight="1" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/percipitation"
android:gravity="center" />
<TextView android:layout_weight="1" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/wind_speed"
android:gravity="center" />
<TextView android:layout_weight="1" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:id="@+id/wind_direction"
android:gravity="center" />
</LinearLayout>
问题是f.ex. wind_direction从“4”变为“300”,然后列不对齐.
The problem http://img185.imageshack.us/img185/2812/deviceo.png
谁可以用固定宽度的列制作并使用与设备无关的整个宽度?
解决方法
考虑使用TableLayout而不是ListView.这被设计为具有行和列.见
Hello TableLayout.
要以编程方式添加行,可以使TableRow膨胀并在TableLayout上调用addView.