如何绘制带有指定边界的填充矩形,并使用Canvas
Android绘制该矩形文本?我试过了
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
结果快照