我有一个TextView在我的应用程序。我想让文本向右对齐。我试着补充道:
android:gravity="right"
但这对我没用。
我可能做错了什么?
我有一个TextView在我的应用程序。我想让文本向右对齐。我试着补充道:
android:gravity="right"
但这对我没用。
我可能做错了什么?
当前回答
android:gravity="right"
它基本上用于线性布局,所以你必须设置你的宽度的TextView或编辑文本为
android:layout_width = "match_parent"
and
当你在相对布局中工作时,使用
android:layout_alignParentRight="true"
其他回答
确保你没有使用android:layout_width="wrap_content"如果是这样,那么它将无法设置重力,因为你没有足够的空间来对齐文本。而是使用android:layout_width="fill_parent"
在我的例子中,我使用了属性“layout_alignRight”,在文本中:
android:layout_alignRight="@+id/myComponentId"
如果你想添加一些右边框,只需要设置属性“Layout_Margin right”为“20dp”,例如:
android:layout_marginRight="20dp"
如果它是RelativeLayout,你可以使用android:layout_toRightOf="@id/<id_of_desired_item>"
Or
如果你想对齐到设备的右角的地方android:layout_alignParentRight="true"
让我用WEB来解释重力概念,因为很多开发人员都知道它。
Android_layout_gravity行为浮动:左|右|顶部|底部
而android_gravity工作为text_align:中心|左|右
在Android中float是android_layout_gravity, text_align:是android_gravity。
android_layout_gravity相对于parent应用。如android_gravity应用于它的子内容或内部内容。
注意android_gravity只有当它的视图为match_parent时才有效(当它有空间居中时)。
以下是我的工作:
<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设置。