我正在编写一个自定义Drawable,一个位图上的文本:
@Override
public void draw(Canvas canvas) {
canvas.drawBitmap(badge, matrix, null);
canvas.drawText(count, size / 2, size / 2 + (text_size) / 2 , p);
}
当我在imageView中使用我的drawable时,没关系。
但如果我将它与textview(复合drawable)一起使用,那么它的对齐是错误的。
我尝试了setCompoundDrawablesWithIntrinsicBounds和setCompoundDrawables
同样的结果,我错过了什么?
感谢。
答案 0 :(得分:4)
我设法得到正确的对齐方式(我的drawable是圆形/方形,所以width == height):
在我的Custom_Drawable ctor中:
Custom_Drawable(int size) {
this.size = size;
}
onDraw方法:
@Override
public void draw(Canvas canvas) {
// draw here
setBounds(0, 0, this.size, this.size);
}
设置drawable时:
b.setCompoundDrawables(new Custom_Drawable(25), null, null, null);