您的位置:首页 > 移动开发 > Android开发

Android文字居中方案

2014-09-23 13:38 363 查看
在宽width高height的画布上画一字符串,使字符串水平竖直居中: 

水平居中很简单,paint.setTextAlign(Align.CENTER);然后drawText的x坐标设置为width / 2即可,竖直居中稍显麻烦,可以使用FontMetrics对象计算文字高度,然后计算baseline,使文字垂直居中,代码如下: 

Paint paint = new Paint(); 

paint.setColor(Color.BLUE); 

paint.setTextSize(18); 

paint.setTextAlign(Align.CENTER); 

FontMetrics fontMetrics = paint.getFontMetrics(); 

// 计算文字高度 

float fontHeight = fontMetrics.bottom - fontMetrics.top; 

// 计算文字baseline 

float textBaseY = height - (height - fontHeight) / 2 - fontMetrics.bottom; 

canvas.drawText(text, width / 2, textBaseY, paint);

注:对于自己用数字计算文字宽度间距不适用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: