这是我的布局:
<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>
生成如下所示的列表项:
正如你所看到的,它有点难看。如果右上方的框是红色的,并且底部的行完全独立于顶部的对齐,我想要顶部的蓝色框包装,这样日期根本不会包裹,无论顶行是什么样的。什么是实现这一目标的最佳方式?
答案 0 :(得分:1)
使用TableLayout
并使其具有shrinkColumns="0"
并指定客户端名称/票证#在第0列。您还可以为要扩展以适合的那些设置strechColums,因此可能是列1展开日期列。
其他选择是不将它们放在垂直线性布局中,而是为每行制作水平布局。
答案 1 :(得分:0)
实现:
<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>