Mily-Lky 发表于 2012-12-10 14:31:25

android--字符在指定方框中居中显示

<div id="cnblogs_post_body">
对于水平方向得到居中很简单
先设置paint.setTextAlign(Paint.Align.CENTER)
这样就可以保证水平方向的居中
假设方框的宽度为width
设置x坐标为width / 2就可以使文字居中

垂直方向的居中就不是简单的 height / 2

需要一个叫FontMetrics对象
http://pic002.cnblogs.com/images/2012/411043/2012092210543465.png
在使用draw.Text方法的时候, 我们设置的y坐标其实是英文字符的baseline的位置
如果设置成 height / 2 会导致整体文字偏上
所以要将y的值 在height / 2 基础上再下移
这个偏移量就要用到FontMetrics
offsetY =- (ascent + descent) / 2;(ascent 和 top 因为在baseline的上方所以为负)
所以y坐标就是height / 2 + offsetY;
页: [1]
查看完整版本: android--字符在指定方框中居中显示