繁体   English   中英

Android 自定义可绘制边界

[英]Android Custom Drawable bounds

我正在写一个自定义的 Drawable,一个 bitmap 上的文本:

@Override
public void draw(Canvas canvas) {
    canvas.drawBitmap(badge, matrix, null); 
    canvas.drawText(count, size / 2, size / 2 + (text_size) / 2 , p);
}

当我在 imageView 中使用我的可绘制对象时,没关系。好的

但是如果我将它与 textview (复合可绘制)一起使用,它的对齐是错误的。错误的

我尝试了 setCompoundDrawablesWithIntrinsicBounds 和 setCompoundDrawables

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

谢谢。

我设法得到正确的 alignment (我的可绘制对象是圆形/正方形,因此宽度 == 高度):

在我的 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM