asfman
android developer
posts - 90,  comments - 213,  trackbacks - 0
在宽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);
posted on 2012-05-20 18:52 汪杰 阅读(545) 评论(0)  编辑 收藏 引用 所属分类: Java
只有注册用户登录后才能发表评论。

<2024年3月>
252627282912
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(15)

随笔分类(1)

随笔档案(90)

文章分类(727)

文章档案(712)

相册

收藏夹

http://blog.csdn.net/prodigynonsense

友情链接

最新随笔

搜索

  •  

积分与排名

  • 积分 - 456687
  • 排名 - 6

最新随笔

最新评论

阅读排行榜

评论排行榜