在我的应用程序中,我有一个标题栏,它由一个以 fill_parent 作为宽度的 TextView 组成,它具有特定的背景颜色和一些居中的文本。现在我想在标题栏的左侧添加一个drawable,所以我设置了drawableLeft,果然显示了文本和图像。但是这里的问题是文本不再正确居中,例如,当添加可绘制对象时,文本会向右移动一点,如下面的屏幕截图所示:
我是否可以在不使用其他布局项(例如 LinearLayout)的情况下正确地将文本居中并将可绘制对象放置在上方?
最佳答案
虽然很脆弱,但您可以通过在可绘制对象上设置 negative 填充来避免使用包装布局:
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:drawableLeft="@drawable/icon"
android:drawablePadding="-20sp"
android:text="blah blah blah" />
您必须将填充调整为可绘制对象的宽度,但您只剩下一个 TextView 而不是额外的 LinearLayout 等。
关于android - 将文本保留在 TextView 中,drawableLeft 居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11261692/