安卓:如何强制左对齐项目来包装,而不是右对齐项目?
问题描述:
这是布局我有:产生看起来像这样的列表项安卓:如何强制左对齐项目来包装,而不是右对齐项目?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:minHeight="?android:attr/listPreferredItemHeight">
<LinearLayout
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<TextView
android:id="@+id/customer_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:paddingLeft="4dip"/>
<TextView
android:id="@+id/ticket_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:paddingLeft="6dip"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="right">
<TextView
android:id="@+id/total"
android:gravity="right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:paddingRight="6dip"/>
<TextView
android:id="@+id/date"
android:gravity="right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:paddingRight="6dip"/>
</LinearLayout>
</LinearLayout>
:
,正如你所看到的,这是一个有点难看。我想对包装顶部的蓝色框,如果右上方盒为红色,并有底部行完全独立的理由往上顶的,这样的日子不换行可言,无论什么样的顶行的样子。什么是完成这一任务的最好方法是什么?
答
使用TableLayout
,使其具有shrinkColumns="0"
和specifify客户名称/票务#是在第0列,您还可以设置为strechColums要扩展,以适应的,所以大概列1至扩大日期列。
另一种选择是不是把它们放在垂直线性布局,而是为每个行的水平的。
答
实现:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:shrinkColumns="0"
android:stretchColumns="1"
android:minHeight="?android:attr/listPreferredItemHeight">
<TableRow>
<TextView
android:id="@+id/customer_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_span="2"
android:textSize="18sp"
android:paddingLeft="4dip"/>
<TextView
android:id="@+id/total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:gravity="right"
android:layout_gravity="right"
android:textSize="18sp"
android:paddingRight="6dip"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/ticket_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:textSize="14sp"
android:paddingLeft="6dip"/>
<TextView
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_span="2"
android:layout_gravity="right"
android:gravity="right"
android:textSize="14sp"
android:paddingRight="6dip"/>
</TableRow>
</TableLayout>
感谢。我已经张贴在一个单独的回答这个问题的实现,但接受了你的是正确的。 – moonlightcheese 2012-02-01 21:46:16