Calligraphy全局加载Noto字体时去除TextView上下空白

使用Calligraphy能够非常方便地将应用的全局字体改为自定义的字体。
它的使用方法非常简单,详见该项目Github (https://github.com/chrisjenx/Calligraphy
在使用Calligraphy全局加载常用的NotoSansCJKsc字体时会出现每一个TextView的上下空白区域过大,不利于界面的布局。

NotoSansCJKsc-DemiLight
<TextView    
  android:id="@+id/tv_debug_1"    
  android:layout_width="wrap_content"    
  android:layout_height="wrap_content"    
  android:text="文字文字TEXTtext文字文字TEXTtext文字文字TEXTtext" />
<TextView    
  android:id="@+id/tv_debug_2"   
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content"   
  android:text="文字文字TEXTtext文字文字TEXTtext文字文字TEXTtext文字文字TEXTtext文字文字TEXTtext文字文字TEXTtext" />
使用Calligraphy全局加载Noto字体后出现上下空白

一开始以为是TextView的padding被设置成了不为零的值,结果发现手动设置padding=0并没有用。

解决办法:

android:includeFontPadding="false"
这个属性用来设置文本是否包含顶部和底部额外空白,默认是true

调整后效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,428评论 25 709
  • 落叶停在肩上 风,也在底下枯黄 遇见溅起的水花 在青石上写下 彼岸 时间还在旅行 错过了追来的青春 失落拿起回忆 ...
    a9397c5eb32e阅读 1,755评论 0 0
  • Servlet 1.1、 Servlet概念 Servlet是服务器端的一个java小程序。它用于:处理,响应请求...
    明天你好向前奔跑阅读 5,185评论 0 8