如何在TextView中将文本与其复合drawable对齐?

时间:2013-01-30 14:41:10

标签: android textview compound-drawables

我无法弄清楚如何在TextView中设置文本及其复合可绘制(小于文本)的对齐方式。似乎默认对齐是中心,但我需要在边缘对齐它们。

PS:android:gravity如果复合drawable大于文本,则效果很好,但如果较小则不行。

2 个答案:

答案 0 :(得分:1)

听起来您使用的是android:drawableLeft固定尺寸的图片。

尝试使用nine-patch或通过XML资源文件定义drawable。通过这种方式,您的drawable的尺寸将拉伸,以TextView的方式对齐。

答案 1 :(得分:0)

我遇到了类似的问题,因为我想使用setCompoundDrawables为浮动提示设置一个顶部drawable,但是TextView(EditText)将top drawable设置为center,而不管它的宽度是多少。

我正在使用自定义Drawable,并且在其draw方法中,我抓取clipBounds,并在其顶部进行平移,向左返回到TextView的0,0位置。

另一种方便的方法是从0,0获取getMatrix和mapPoints,然后取消它们的负数并转换回0,0。