Android Custom Drawable界限

时间:2011-05-02 08:50:56

标签: android drawable

我正在编写一个自定义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时,没关系。 good

但如果我将它与textview(复合drawable)一起使用,那么它的对齐是错误的。 wrong

我尝试了setCompoundDrawablesWithIntrinsicBounds和setCompoundDrawables

同样的结果,我错过了什么?

感谢。

1 个答案:

答案 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);