如何在Android TextView或EditText中右对齐文本?

56

我的应用程序中有一个EditText。我想将其文本对齐到右侧,而不是默认的左侧。我尝试添加

android:layout_gravity="right"

但是这似乎不起作用。请问还有其他建议吗?

5个回答

135
你应该使用android:gravity="right"。而layout_gravity用于视图(EditText)相对于容器的对齐方式。

4
当你将"gravity=right"设置后,提示停止工作似乎有些奇怪。 - Ross Hambrick
2
对于有网页经验的人来说,android:gravity 的作用类似于 text-align:center,而 android:layout_gravity:left|bottom 的作用类似于 float:left|bottom。 - Zar E Ahmer

2
您可以使用android:layout_alignParentRight="true"将EditText的右边缘与其父元素的右边缘对齐。此外,如果您真的想使用layout_gravitygravity属性,请查看此文章,它讨论了它们的正确使用方法。

1

您可以在属性窗口中设置编辑文本的属性,例如Gravity属性设置为right,或者在UI的XML文件中添加一行代码:android:gravity="right"


0

layout_gravity表示您正在指定布局属性,而不是其中的元素。在某些条件下,例如layout_width和layout_height为wrap_content时,布局规范可以提供关于布局内部元素所需的信息,因为布局和元素(而不是元素)的边界相同。


0

在相对布局中使用布局宽度和高度作为包裹内容:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:layout_alignParentStart="true"
        android:paddingEnd="16dp"
        android:paddingStart="8dp"
        tools:src="@mipmap/ic_launcher"
        android:layout_alignParentLeft="true"
        android:paddingRight="16dp"
        android:paddingLeft="8dp"
        android:contentDescription="@string/todo" />

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@id/icon"
        android:maxLines="1"
        android:lines="1"
        android:paddingTop="8dp"
        tools:text="Google"
        android:layout_toRightOf="@id/icon" />

    <TextView
        android:id="@+id/last_used"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:paddingTop="8dp"
        tools:text="Last used: yesterday at 18.54" />
</RelativeLayout>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接