如何在TextView中使文本与其复合绘图对齐?

6
我无法确定如何设置TextView中文本及其复合绘制对象(小于文本)的对齐方式。似乎默认对齐方式为居中,但我需要通过边缘来对齐它们。
注:如果复合绘制对象大于文本,则android:gravity属性效果很好,但如果小于文本,则无效。
2个回答

1

看起来你正在使用具有固定尺寸的图像作为android:drawableLeft

尝试使用nine-patch或通过XML资源文件定义可绘制对象。这样,您的可绘制对象的尺寸将拉伸以对齐TextView中所需的方式。


九宫格的想法不错!但是我仍然对第二种解决方案有些困惑。以“android:drawableLeft”为例,如何编写桥接XML可绘制对象以通过顶部与复合图像对齐文本? - Oasis Feng
我其实没有尝试过,但是你应该可以使用<bitmap>android:gravity结合使用 - Paul Lammertsma

0

我之前遇到一个类似的问题,我想使用setCompoundDrawables来为浮动提示设置顶部的图标,但是无论它的宽度如何,TextView(EditText)都会将顶部的图标设置到中心位置。

我正在使用自定义的Drawable,在其draw方法中,我获取clipBounds,并且通过在其顶部和左侧进行平移,以回到TextView的0,0位置。

另一种简单的方法是使用getMatrix和mapPoints从0,0获取坐标变换矩阵,然后取负值并平移到0,0位置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接