首页 > 移动平台 > 详细

Android:绘制字符

时间:2014-04-12 23:07:52      阅读:652      评论:0      收藏:0      [点我收藏+]

 

bubuko.com,布布扣

ascent,top是负值,descent,bottom是正值

bubuko.com,布布扣

黄色矩形代表要绘制的字符,图中的黄线代表baseline。

canvas.drawText("www.cnblogs.com", x, y, paint);  x和y参数是指定字符串中心的坐标吗?还是左上角的坐标?这个问题的直观印象应该是左上角的坐标,但是安卓的处理有点另类,我都怀疑安卓的设计者是不是 脑壳有问题了。
x默认是‘www.jcodecraeer.com’这个字符串的左边在屏幕的位置,如果设置了paint.setTextAlign(Paint.Align.CENTER);那就是字符的中心,y是指定这个字符baseline在屏幕上的位置。

怎样将字符(黄色区域)在矩形框(图中蓝色矩形)中居中显示呢?

bubuko.com,布布扣
 1 Paint numPaint = new Paint();
 2 numPaint.setColor(Color.BLACK);
 3 numPaint.setStyle(Paint.Style.STROKE);
 4 numPaint.setTextSize(height*0.75f);
 5 numPaint.setTextAlign(Paint.Align.CENTER);
 6         
 7 FontMetrics fM = numPaint.getFontMetrics();
 8 float x = width / 2;
 9 float y = height / 2 - (fM.descent + fM.ascent)/2;
10         
11 canvas.drawText("www.cnblogs.com",  x,  y, numPaint);
bubuko.com,布布扣

 

Android:绘制字符,布布扣,bubuko.com

Android:绘制字符

原文:http://www.cnblogs.com/wanghui390/p/3660562.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!