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

android:gravity="right"

但这对我没用。

我可能做错了什么?


当前回答

layout_gravity用于将文本视图与父布局对齐。 Android:gravity用于在文本视图中对齐文本。

你确定你是在试图将文本视图中的文本向右对齐还是你想要将文本视图本身相对于父布局向右移动,还是你想同时实现这两种目的

其他回答

layout_gravity用于将文本视图与父布局对齐。 Android:gravity用于在文本视图中对齐文本。

你确定你是在试图将文本视图中的文本向右对齐还是你想要将文本视图本身相对于父布局向右移动,还是你想同时实现这两种目的

让我用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时才有效(当它有空间居中时)。

在我的例子中,我使用了属性“layout_alignRight”,在文本中:

android:layout_alignRight="@+id/myComponentId"

如果你想添加一些右边框,只需要设置属性“Layout_Margin right”为“20dp”,例如:

android:layout_marginRight="20dp"

一般来说,android:gravity="right"和android:layout_gravity="right"是不同的。

第一个参数会影响文本本身在视图中的位置,所以如果你想让它右对齐,那么layout_width=应该是"fill_parent"或"match_parent"。

第二个影响视图在其父视图中的位置,换句话说——在父视图中对齐对象本身(编辑框或文本视图)。

以下代码片段:

android:textAlignment="textEnd"
android:layout_gravity="end"

对我来说很好