From:http://qiaoweishu.iteye.com/blog/780526

网络中好多资料介绍获取字体高度的方法如下:

Java代码
  1. publicintgetFontHeight(floatfontSize)
  2. {
  3. Paintpaint=newPaint();
  4. paint.setTextSize(fontSize);
  5. FontMetricsfm=paint.getFontMetrics();
  6. return(int)Math.ceil(fm.descent-fm.top)+2;
  7. }


个人更倾向于以下方式获取字体实际高度:
Java代码
  1. Math.ceil(fm.descent-fm.ascent)


通过实际的截图对文字高度的确定,后者更准确一些。

有了字体高度信息,就可以添加行与行之间的空隙,调整行高。
个人实现方式如下:
Java代码
  1. paint.setTextSize(fFontWidth);
  2. FontMetricsfm=paint.getFontMetrics();
  3. fFontHeight=(float)Math.ceil(fm.descent-fm.ascent);
  4. if(fFontHeight>fLineHeight)
  5. {
  6. fMulValue=fLineHeight/fFontHeight;
  7. fAddValue=-1;
  8. }
  9. else
  10. {
  11. fMulValue=1;
  12. fAddValue=fLineHeight-fFontHeight;
  13. }
  14. textViewLeft.setTextSize(fFontWidth);
  15. textViewLeft.setLineSpacing(fAddValue,fMulValue);


实践验证这种方式对多种分辨率的屏幕的适应性较强。
以上是个人在实际的功能实现过程中的总结,水平较浅,若看官有不同的看法或者见解,望不惜赐教!

更多相关文章

  1. 【Android】利用Strings资源文件来格式化字符串
  2. Android(安卓)Studio 定制快速生成Jni 头文件工具 Ndk教程
  3. android 开发 - 结束所有activity
  4. Android输入框实时模糊搜索效果的示例代码
  5. android 带图片的文本框
  6. Android实现图片左右滑动效果
  7. android开机启动流程简单分析
  8. Android安装应用后点击,打开.(Open)带来的问题及解决方式
  9. Android设置全局字体大小,实现小中大字体功能

随机推荐

  1. android 系统开发之开机动画
  2. android ndk log
  3. Android的selector,背景选择器
  4. Android多分辨率适配框架(2)— 原理剖析
  5. 性能优化之Java(Android)代码优化
  6. Android UI布局之RelativeLayout
  7. Android 第七课——UI布局
  8. Android(安卓)Studio 3.5 安装apk失败问
  9. (4.1.23)Android Animation学习笔记
  10. Android之TextView------属性大全