我有一个TextView在我的应用程序。我想让文本向右对齐。我试着补充道:
android:gravity="right"
但这对我没用。
我可能做错了什么?
我有一个TextView在我的应用程序。我想让文本向右对齐。我试着补充道:
android:gravity="right"
但这对我没用。
我可能做错了什么?
当前回答
更好的解决方案是最简单的解决方案,并且对代码行为的修改较少。
如果你能解决这个问题只有2个属性在你的TextView?
而不是需要改变你的线性布局属性,也许可以改变行为的线性布局子?
使用这种方式,你不需要改变线性布局的属性和行为,你只需要添加以下两个属性到你的目标TextView:
android:gravity="right"
android:textAlignment="gravity"
如果只改变你的目标来解决你的问题,而不是有机会在未来引起另一个问题,修改你的目标父亲,会更好吗?想想吧。
其他回答
在我的情况下,我使用相对布局的一个emptyString
在纠结了一个小时之后。只有这个对我有用:
android:layout_toRightOf="@id/welcome"
android:layout_toEndOf="@id/welcome"
android:layout_alignBaseline="@id/welcome"
layout_toRightOf或layout_toEndOf都可以,但为了更好地支持它,我同时使用了它们。
更清楚地说:
这就是我想做的:
这是模拟器的输出
布局:
<TextView
android:id="@+id/welcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Welcome "
android:textSize="16sp" />
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/welcome"
android:layout_toRightOf="@id/welcome"
android:text="@string/emptyString"
android:textSize="16sp" />
注意:
android: layout_width = " wrap_content "的作品 不使用重力
以下是我的工作:
<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" />
请注意第二个TextView的android:layout_alignParentEnd和android:textAlignment设置。
android:gravity="right"
它基本上用于线性布局,所以你必须设置你的宽度的TextView或编辑文本为
android:layout_width = "match_parent"
and
当你在相对布局中工作时,使用
android:layout_alignParentRight="true"
我也面临同样的问题,并认为问题正在发生,因为TextView的layout_width是有wrap_content。你需要有layout_width为match_parent和android:gravity = "gravity"
这应该可以达到目的
android:textAlignment=“textStart”