【1】Text水平居中
Text水平居中:(View的宽度-Text宽度)/2 就是Text绘制的起始点X。
重点:Text宽度的测量,Paint 有测量方法:paint.measureText(str);
String text="Helloword";
float textWidth=paint.measureText(text);
float x=(getWidth()-textWidth)/2;
canvas.drawText(text,x,100,paint);
【2】Text垂直居中:这个比较复杂,请看https://www.jianshu.com/p/1728b725b4a6
或者直接复制代码哦。
Paint.FontMetrics fontMetrics = paint.getFontMetrics();
float y = getHeight() / 2 + (Math.abs(fontMetrics.ascent) - fontMetrics.descent) / 2;
canvas.drawText(text,100,y,paint);
【3】水平垂直居中自然也就呼之欲出了,综合【1】【2】。
canvas.drawText(text,x,y,paint);
完美搞定!!!
网友评论