首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android文字居间

2012-06-30 
Android文字居中在宽width高height的画布上画一字符串,使字符串水平竖直居中:?水平居中很简单,paint.setTe

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);

热点排行