Android自定义可绘制范围

Android自定义可绘制范围,第1张

概述我正在编写一个自定义Drawable,即位图上的文本:@Overridepublicvoiddraw(Canvascanvas){canvas.drawBitmap(badge,matrix,null);canvas.drawText(count,size/2,size/2+(text_size)/2,p);}当我在imageView中使用我的drawable时,就可以了.但是,如

我正在编写一个自定义Drawable,即位图上的文本:

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

当我在imageVIEw中使用我的drawable时,就可以了.

但是,如果我将它与textvIEw(可绘制复合图像)一起使用,则对齐方式是错误的.

我尝试了setCompoundDrawablesWithIntrinsicBounds和setCompoundDrawables

同样的结果,我想念什么?

谢谢.

解决方法:

我设法获得正确的对齐方式(我的可绘制对象是一个圆形/正方形,所以宽度==高度):

在我的Custom_Drawable ctor中:

Custom_Drawable(int size) {    this.size = size;}

onDraw方法:

@OverrIDepublic voID draw(Canvas canvas) {    // draw here    setBounds(0, 0, this.size, this.size);}

设置可绘制对象时:

 b.setCompoundDrawables(new Custom_Drawable(25), null, null, null);
总结

以上是内存溢出为你收集整理的Android自定义可绘制范围全部内容,希望文章能够帮你解决Android自定义可绘制范围所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1083368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存