将图像添加到文本视图会影响文本';它以Android为中心

将图像添加到文本视图会影响文本';它以Android为中心,android,android-layout,textview,Android,Android Layout,Textview,我有一个简单的线性布局,带有文本视图,我想将其文本居中。问题是,当我使用android:drawableRight向其添加图像时,它会影响文本的居中(将其向左移动) 从我的布局中: 我可以添加android:paddingLeft来强制文本居中,但我相信有更好的方法 如何强制文本居中,而不考虑TextView中包含的图像?试试这个 <TextView android:id="@+id/userName" android

我有一个简单的
线性布局
,带有
文本视图
,我想将其文本居中。问题是,当我使用android:drawableRight向其添加图像时,它会影响文本的居中(将其向左移动)

从我的布局中: 我可以添加
android:paddingLeft
来强制文本居中,但我相信有更好的方法

如何强制文本居中,而不考虑
TextView
中包含的图像?

试试这个

  <TextView
            android:id="@+id/userName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/profilePic"
            android:drawablePadding="10dp"
            android:drawableEnd="@drawable/ic_person_black_24dp"
            android:gravity="center"
            android:text="Mohit Verma"
            android:textColor="@android:color/black"
            android:textSize="18sp" />

并确保LinearLayout具有
android:layout\u width=“match\u parent”


您可以将文本视图居中,而不使用相对视图中的图像,然后添加一个图像视图,图像位于文本视图的右侧。这并不能完成我的要求。查看结果图像。你看到名字是怎么被推到中间的左边的了吗?那是因为你添加了图形。如果要删除图形,则名称将正确居中。我添加了
android:drawablePadding=“10dp”
。这就是为什么它在中间偏左的原因。否则,它在中心是完全对齐的。好吧,我现在看到了,但是你的和我的有什么不同呢?我看到您使用的是
android:drawableEnd
而不是
android:drawableRight
,但这似乎不起作用。您想要的实际结果是什么?正如我在原始问题中所述,使用
drawableRight
添加图像和文本会将文本移离中心(在本例中,它将文本向左移动)。我希望文本在屏幕内水平居中,即使我在右侧添加了一个图形。但现在,这种情况没有发生。
  <TextView
            android:id="@+id/userName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/profilePic"
            android:drawablePadding="10dp"
            android:drawableEnd="@drawable/ic_person_black_24dp"
            android:gravity="center"
            android:text="Mohit Verma"
            android:textColor="@android:color/black"
            android:textSize="18sp" />