我有一个TextView在我的应用程序。我想让文本向右对齐。我试着补充道:

android:gravity="right"

但这对我没用。

我可能做错了什么?


当前回答

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

Or

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

其他回答

我也面临同样的问题,并认为问题正在发生,因为TextView的layout_width是有wrap_content。你需要有layout_width为match_parent和android:gravity = "gravity"

你可以使用:

    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"

校正对齐已从Android API 26+支持TextView

<TextView ...
    ... android:justificationMode="inter_word" />

缺省情况下,value为none。

Android TextView文档

关于Android TextView的问题

更好的解决方案是最简单的解决方案,并且对代码行为的修改较少。

如果你能解决这个问题只有2个属性在你的TextView?

而不是需要改变你的线性布局属性,也许可以改变行为的线性布局子?

使用这种方式,你不需要改变线性布局的属性和行为,你只需要添加以下两个属性到你的目标TextView:

android:gravity="right"
android:textAlignment="gravity"

如果只改变你的目标来解决你的问题,而不是有机会在未来引起另一个问题,修改你的目标父亲,会更好吗?想想吧。

这应该可以达到目的

android:textAlignment=“textStart”