如何使列表元素正确对齐?

时间:2016-01-22 04:35:07

标签: android list listview textview right-align

如何使textview_item_discounted_price正确对齐?这是列表元素的布局文件:

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:id="@+id/imageview_icon"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@color/item_background_color"
    android:contentDescription="@string/hello"
    android:scaleType="matrix" />

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="0.8"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_code"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="bold" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_name"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:textIsSelectable="false" >
        </TextView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="5dp"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_rem"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_discounted_price"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>
    </LinearLayout>
</LinearLayout>

<EditText
    android:id="@+id/edittext_quantity"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:focusable="true"
    android:gravity="right"
    android:hint="@string/doc_add_item_quantity_hint"
    android:imeOptions="actionDone"
    android:inputType="numberDecimal"
    android:singleLine="true" >
</EditText>

enter image description here

我用以下方式解决这个问题:

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:id="@+id/imageview_icon"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@color/item_background_color"
    android:contentDescription="@string/hello"
    android:scaleType="matrix" />

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="0.8"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_code"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="bold" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_name"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:textIsSelectable="false" >
        </TextView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="5dp"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_rem"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_discounted_price"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="right"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>

        <View
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.9" />
    </LinearLayout>
</LinearLayout>

<EditText
    android:id="@+id/edittext_quantity"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:focusable="true"
    android:gravity="right"
    android:hint="@string/doc_add_item_quantity_hint"
    android:imeOptions="actionDone"
    android:inputType="numberDecimal"
    android:singleLine="true" >
</EditText>

3 个答案:

答案 0 :(得分:1)

设置android:gravity="right",文字将移至TextView

的右侧

android:alignParentRight="true"会将TextView移至LinearLayout的右端

答案 1 :(得分:0)

试试这个:

<TextView
            android:id="@+id/textview_item_rem"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic"
            android:gravity="right" >
        </TextView>

答案 2 :(得分:0)

检查:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

<ImageView
    android:id="@+id/imageview_icon"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:contentDescription="hello"
    android:scaleType="matrix" />

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.6"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_code"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:text="hello"
            android:textIsSelectable="false"
            android:textStyle="bold" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_name"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:text="hello"
            android:textIsSelectable="false" >
        </TextView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="5dp"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_rem"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:text="hello"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>
        ]</LinearLayout>
</LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_weight="0.1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textview_item_discounted_price"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:gravity="right"
            android:singleLine="true"
            android:text="hello"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>
    </LinearLayout>


<EditText
    android:id="@+id/edittext_quantity"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:focusable="true"
    android:gravity="right"
    android:hint="quantity_hint"
    android:imeOptions="actionDone"
    android:inputType="numberDecimal"
    android:singleLine="true" >
 </EditText>

</LinearLayout>
</LinearLayout>