我想在ListView行中显示一些文本,其中包含以下对齐方式:
Mike 10pt $1,233,500
Mike2 200pt $1,2,500
Holly 10pt $4500
但是当我尝试时,我得到了这个:
Mike 10pt $1,233,500
Mike2 200pt $12,500
Holly 10pt $4500
我的布局文件如下。我做错了什么?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:background="@drawable/dl005_textfield_selected"
android:paddingBottom="5dp" >
<TextView
android:id="@+id/Name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="Mike"
android:layout_weight="1"
android:textColor="#888888" />
<TextView
android:id="@+id/score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:gravity="right"
android:text="10pt"
android:textColor="#3498db" />
<TextView
android:id="@+id/myid"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="$1,233,500"
android:textStyle="bold"
android:textSize="18sp"
android:layout_weight="1"
android:gravity="right"
android:textColor="#3498db" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
</LinearLayout>
</LinearLayout>
答案 0 :(得分:5)
您应该使用TableLayout
来将其子视图定位到行和列中。另请注意,您需要从第三个android:gravity="right"
中移除TexView
,因为您需要将其内容保持对齐状态。
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1" >
<TableRow
android:background="@drawable/dl005_textfield_selected"
android:paddingBottom="5dp" >
<TextView
android:id="@+id/Name"
android:layout_marginLeft="10dp"
android:text="Mike"
android:textColor="#888888" />
<TextView
android:id="@+id/score"
android:padding="10dp"
android:gravity="right"
android:text="10pt"
android:gravity="right"
android:textColor="#3498db" />
<TextView
android:id="@+id/myid"
android:text="$1,233,500"
android:textStyle="bold"
android:textSize="18sp"
android:textColor="#3498db" />
</TableRow>
...
</TableLayout>
您还需要删除子layout_width
上的TextViews
属性,因为它们始终设置为MATCH_PARENT
。您可以将各列设置为 strechable 或 shrinkable 。