【问题标题】:How make list elements right align?如何使列表元素右对齐?
【发布时间】:2016-01-22 13:30:55
【问题描述】:

如何使 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>

我通过以下方式解决了这个问题:

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

【问题讨论】:

  • 把这个 android:gravity="right" 放到你的 textview_item_discounted_price 中
  • @Amarbir Singh ,这不是我想要的,请查看我的评论以获取以下答案
  • 我复制粘贴您的代码并将参数添加到 textview 并且 textview 在正确的位置....我没有误会您的意思
  • 我没有让 textview 在右边,我希望它保持在中心,但右对齐到最大的元素
  • 哪个大元素??告诉那个ID

标签: android list listview textview right-align


【解决方案1】:

设置android:gravity="right",文字会移到TextView的右边

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

【讨论】:

  • 然后所有的TextViews都将向右移动,但我希望它们保持在中心但右对齐
  • 问题是TextView有android:layout_width="0dp"
  • 你想让它右对齐,以便它在EditText旁边吗?
  • 查看我的编辑截图,我希望文本向右移动到最大的 discounted_price
  • 哦,我明白你的意思了,设置 gravity="right" 和 'alightParentRight="true"` 但设置较大的右边距对你有用吗?
【解决方案2】:

试试这个:

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

【讨论】:

    【解决方案3】:

    检查这个:

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

    【讨论】:

    • 它不起作用。我编辑了我的帖子并添加了我的解决方案
    猜你喜欢
    • 2018-09-24
    • 2012-06-26
    • 2011-12-03
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 2011-08-28
    • 2012-08-27
    相关资源
    最近更新 更多