右键对齐android TextView中的文本

Bis*_*han 206 android alignment textview

TextView我的应用程序中有一个.我想将其中的文本对齐到右边.我尝试添加:

android:gravity="right"
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用.

我可能做错了什么?

a f*_*yer 186

我认为你这样做:android:layout_width = "wrap_content"
如果是这种情况,请执行以下操作:android:layout_width = "match_parent"

  • 实际上,fill_parent和match_parent是一回事.名称已更改为match_parent,因为显然fill_parent令人困惑. (11认同)
  • @Bishan填充将填充剩余的空格,匹配将其设置为等于父级的宽度 (2认同)

wiz*_*ail 153

一般来说,android:gravity="right"不同于android:layout_gravity="right".

第一个影响文本本身在视图中的位置,因此如果您希望它是右对齐的,那么layout_width=应该是"fill_parent"或者"match_parent".

第二个影响View在其父级内的位置,换句话说 - 在父视图内对齐对象本身(编辑框或文本视图).


Pau*_*osa 78

更好的解决方案是最简单的解决方案,以及在代码行为中进行较少修改的解决方案.

如果您只能使用2个属性解决此问题TextView怎么办?

而不是需要更改LinearLayout可能会改变LinearLayout孩子行为的属性?

使用这种方式,您无需更改LinearLayout属性和行为,只需将以下两个属性添加到目标TextView:

android:gravity="right"
android:textAlignment="gravity"
Run Code Online (Sandbox Code Playgroud)

最好只改变你的目标来解决你的解决方案而不是有机会在将来引起另一个问题,修改你的目标父亲?想一想:)

  • textAlignment在API级别17(Android 4.2)中添加.您的模拟器/设备需要运行4.2+才能工作. (4认同)

rog*_*one 20

android:layout_gravity用于将文本视图与父布局对齐. android:gravity用于对齐文本视图中的文本.

您确定要将文本视图中的文本对齐到右侧,还是要将文本视图本身相对于父布局向右移动,或者您是否尝试同时实现两者


小智 10

以下代码段:

android:textAlignment="textEnd"
android:layout_gravity="end"
Run Code Online (Sandbox Code Playgroud)

对我很有用


npk*_*npk 9

如果有人仍然需要

android:gravity="end"
Run Code Online (Sandbox Code Playgroud)


Lal*_*ani 8

确保您没有使用,android:layout_width="wrap_content"如果是这样,那么它将无法设置重力,因为您没有足够的空间让文本对齐.而是使用android:layout_width="fill_parent"


小智 7

android:gravity="right"
Run Code Online (Sandbox Code Playgroud)

它基本上用于线性布局,因此您必须将TextView的宽度或EditText设置为

android:layout_width = "match_parent"
Run Code Online (Sandbox Code Playgroud)

在相对布局中工作时,请使用

android:layout_alignParentRight="true"
Run Code Online (Sandbox Code Playgroud)


小智 5

如果它在RelativeLayout你可以使用android:layout_toRightOf="@id/<id_of_desired_item>"

要么

如果你想对齐right设备的角落的地方android:layout_alignParentRight="true"


Aug*_*cis 5

制作(LinearLayout)android:layout_width="match_parent"和TextViewandroid:layout_gravity="right"


Dav*_*ung 5

以下对我有用:

<TextView
    android:id="@+id/tv_username"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Sarah" />

<TextView
    android:id="@+id/tv_distance"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/tv_username"
    android:layout_alignParentEnd="true"
    android:layout_toEndOf="@+id/tv_username"
    android:text="San Marco"
    android:textAlignment="viewEnd" />
Run Code Online (Sandbox Code Playgroud)

请注意第二个 TextView 的android:layout_alignParentEnd和设置。android:textAlignment