android 如何在线性布局中右对齐TextView?

gblwokeq  于 2023-02-06  发布在  Android
关注(0)|答案(1)|浏览(124)

我正在尝试让文本视图"tv_amount"保持在屏幕的右侧。我试过使用android:gravity ="right",但一直不起作用。有人有什么建议吗?
image of emulator running this code

<?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="45dp"
        android:gravity="center_vertical"
        android:orientation="horizontal">
    
        <ImageView
            android:id="@+id/iv_icon"
            android:layout_width="40sp"
            android:layout_height="40sp"
            android:background="@drawable/circle_border"
            android:padding="6sp"
            android:layout_marginLeft="6dp"
            android:src="@drawable/food"/>
    
    
        <TextView
            android:id="@+id/tv_label"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginStart="12dp"
            android:text="Yummy Pizza"
            android:textSize="20sp" />
    
        <TextView
            android:id="@+id/tv_amount"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="12dp"
            android:gravity="end"
            android:text="$25"
            android:textSize="25sp" />
</LinearLayout>

我希望交易或"tv_amount"保持正确的理由,使数字的结束是停留在屏幕的右侧。
我尝试使用:

android:layout_weight="0"
android:layout_gravity="end"
android:gravity="right"

但这些似乎并不明显。我是一个初学者,当谈到android开发,似乎找不到任何答案,已帮助其他任何地方。他们都说,使用"android:gravity"或其他一些替代品。也许有一些在我的代码,不允许。

xsuvu9jc

xsuvu9jc1#

试试这样:
将内容分为左右两部分将使重量和重力属性正常工作。请查看下面的布局。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Title"
        android:textSize="20sp" />
<!--Separate layout aligned to the left, containing an image and a yummy pizza label. -->

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

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/iv_icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                />

            <TextView
                android:id="@+id/tv_text_left"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Text Left"
                android:textSize="16sp" />

        </LinearLayout>
    <!--Display the pizza price on a separate label aligned to the right -->
        <TextView
            android:id="@+id/tv_text_right"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="Text Right"
            android:layout_weight="1"
            android:textSize="16sp" />

    </LinearLayout>

</LinearLayout>

相关问题