现在的位置: 首页 > 综合 > 正文

Android用Paint计算文字宽度

2013年12月10日 ⁄ 综合 ⁄ 共 457字 ⁄ 字号 评论关闭

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

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


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

抱歉!评论已关闭.