Android:如何强制左对齐项目换行而不是右对齐项目?

时间:2012-02-01 20:31:37

标签: android android-layout

这是我的布局:

<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>

生成如下所示的列表项:

enter image description here

正如你所看到的,它有点难看。如果右上方的框是红色的,并且底部的行完全独立于顶部的对齐,我想要顶部的蓝色框包装,这样日期根本不会包裹,无论顶行是什么样的。什么是实现这一目标的最佳方式?

2 个答案:

答案 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>

enter image description here