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

关于drawText文字正中的山寨做法

2012-09-21 
关于drawText文字居中的山寨做法????? drawText画字符串是底端对齐的。所以要特别注意这点,不然画文字可能

关于drawText文字居中的山寨做法

????? drawText画字符串是底端对齐的。所以要特别注意这点,不然画文字可能画到其它地方而误以为没有画出来。

?

????? 如果底端对齐的话:底端的Y坐标是:(行高-字体高度)/2+字体高度,但是字符串并不居中,经过测试如果:(行高-字体高度)/2+字体高度-6,就稍微居中了一点。

?

???? 以上的方法只是一个取巧的做法,网上也没有找到设置文字居中的方法。

?

???? 如果你有看到标准的做法,请共享。。。

?

1 楼 csj2017 2011-12-07   默认的应该不是底对齐吧!是baseLine对齐,离底端有段距离,所以按上面办法会有误差。加上那段距离应该就行了:
FontMetrics fontMetrics = mPaint.getFontMetrics();
float fontTotalHeight = fontMetrics.bottom - fontMetrics.top;
float offY = fontTotalHeight / 2 - fontMetrics.bottom;
float newY = baseY + offY;
canvas.drawText(text, baseX, newY, paint);

热点排行