Android用Paint计算文字宽度

来源:互联网 发布:nginx 限制url访问 编辑:程序博客网 时间:2024/06/05 05:10

转自: http://www.r-base.net/archives/442

  在Android的UI开发中,如果使用xml的方式来配置layout的话,我们可以很方便地实现不同分辨率的兼容性问题(使用dip的单位来实现).但是,如果在游戏游戏的时候,不能用xml来配置layout,这时候我们去兼容不同分辨率时就会麻烦很多.一些坐标计算也可以将dip的单位改成像素.我在开发打地鼠的游戏时,发现文字不好计算出宽度,经过一段时间的上网查找,终于找到了解决方案.

1234567
// 计算出该TextView中文字的长度(像素)public static float getTextViewLength(TextView textView,String text){  TextPaint paint = textView.getPaint();  // 得到使用该paint写上text的时候,像素为多少  float textLength = paint.measureText(text);  return textLength;}

  通过上面的代码我们得到文字的像素后,我们可以通过一些算法得计算得到该文字的 dip 单位的值.

关于dip(dp)与px的转换方法可以看我另一篇博文.
Android中dip(dp)与px之间单位转换


原创粉丝点击