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

时间:2011-04-18 03:45:06

标签: android alignment android-edittext layout-gravity

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

android:layout_gravity="right"

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

5 个答案:

答案 0 :(得分:120)

您应该使用android:gravity="right"layout_gravity用于视图(EditText)与容器的对齐。

答案 1 :(得分:2)

您可以使用android:layout_alignParentRight="true"将EditText的右边缘与其父边缘对齐。另外,如果您确实想要使用layout_gravitygravity属性,请查看讨论正确使用它们的article

答案 2 :(得分:1)

您可以在属性窗口中设置编辑文本的属性,即向右重力或在UI的xml文件中添加行代码:android:gravity =“right”

答案 3 :(得分:0)

布局 _gravity意味着您要指定布局属性,而不是内部元素。在某些情况下,例如layout_width和layout_height是wrap_content,布局规范可以为您的布局提供关于元素的所需内容,因为布局和元素(非元素 s )的边界是相同的..

答案 4 :(得分: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>