`
sunting_bcwl
  • 浏览: 93665 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android文字居中

 
阅读更多
在宽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);
分享到:
评论
1 楼 jonson 2012-09-07  
good job.

相关推荐

Global site tag (gtag.js) - Google Analytics