我有一个TextView在我的应用程序。我想让文本向右对齐。我试着补充道:
android:gravity="right"
但这对我没用。
我可能做错了什么?
我有一个TextView在我的应用程序。我想让文本向右对齐。我试着补充道:
android:gravity="right"
但这对我没用。
我可能做错了什么?
当前回答
这应该可以达到目的
android:textAlignment=“textStart”
其他回答
我认为你是这样做的:android:layout_width = "wrap_content" 如果是这种情况,这样做:android:layout_width = "match_parent"
一般来说,android:gravity="right"和android:layout_gravity="right"是不同的。
第一个参数会影响文本本身在视图中的位置,所以如果你想让它右对齐,那么layout_width=应该是"fill_parent"或"match_parent"。
第二个影响视图在其父视图中的位置,换句话说——在父视图中对齐对象本身(编辑框或文本视图)。
如果它是RelativeLayout,你可以使用android:layout_toRightOf="@id/<id_of_desired_item>"
Or
如果你想对齐到设备的右角的地方android:layout_alignParentRight="true"
确保你没有使用android:layout_width="wrap_content"如果是这样,那么它将无法设置重力,因为你没有足够的空间来对齐文本。而是使用android:layout_width="fill_parent"
更好的解决方案是最简单的解决方案,并且对代码行为的修改较少。
如果你能解决这个问题只有2个属性在你的TextView?
而不是需要改变你的线性布局属性,也许可以改变行为的线性布局子?
使用这种方式,你不需要改变线性布局的属性和行为,你只需要添加以下两个属性到你的目标TextView:
android:gravity="right"
android:textAlignment="gravity"
如果只改变你的目标来解决你的问题,而不是有机会在未来引起另一个问题,修改你的目标父亲,会更好吗?想想吧。