
mPaint.setcolor(color.GREEN);canvas.drawText(mText,x,y,mPaint);mPaint.setcolor(color.BLACK);canvas.drawRect(x,x + w,y + h,mPaint);
但文字不在那个矩形内.任何好友都可以告诉我如何在考虑文本大小的情况下绘制一个围绕指定文本的矩形吗?
解决方法 这里我有硬编码的x和y值.你可以改变它们mpaint= new Paint(); mpaint.setcolor(color.RED); mpaint.setStyle(Style.FILL); paint2= new Paint(); paint2.setcolor(color.GREEN); paint2.setTextSize(50); //set text size float w = paint2.measureText(s)/2; float textSize = paint2.getTextSize(); @OverrIDe protected voID onDraw(Canvas canvas) { paint2.setTextAlign(Paint.Align.CENTER); canvas.drawRect(300-w,300 - textsize,300 + w,300,mpaint); canvas.drawText(s,paint2); //x=300,y=300 } 编辑:
在onDraw中调用measureText是个坏主意.你可以在onDraw之外做到这一点.
还有一个关于性能的视频以及为什么要避免在onDraw中进行分配. https://www.youtube.com/watch?v=HAK5acHQ53E
结果快照
总结以上是内存溢出为你收集整理的使用Canvas Android在填充矩形内绘制文本全部内容,希望文章能够帮你解决使用Canvas Android在填充矩形内绘制文本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)