Android includeFontPadding属性的介绍

Android  小知识  2023年2月13日 pm6:43发布2年前 (2023)更新 城堡大人
116 0 0

前言

Android开发中,我们知道TextView显示文本时是存在留白的,如图一的第一行[读书导航],明显比第二行“高大威猛”些。

虽然TextView默认存在留白,正常情况下的影响可以忽略不计,但如果换了个别字体后,如图二的第一行[读书导航],加上字体设计也存在留白,导致TextView占用的位置跟大了。

正文

Android includeFontPadding属性的介绍

图一

Android includeFontPadding属性的介绍

图二

回归正题,如何解决图二种的问题?

客户要求是字体,这种字体留白太多,导致TextView显示占用位置过大。

再说没有能力重新在这种字体上取消留白,那只能从我们Android系统或应用上想办法。

思路
  1. TextView配置android:includeFontPadding="false"
  2. 改framework层TextView默认includeFontPadding为false
思路一

对于单个应用来说,容易,只有每个TextView或者涉及文体显示的都加上android:includeFontPadding="false"即可

思路二

但定制项目,不能仅仅从单个应用来看,需要分析整个系统和第三方应用(可下载应用)存在的问题。这里只记录一下想思路(目前没有时间去研究,同事那边负责的)。

  1. 需要考虑第三方应用的显示,不仅仅客户定制的字体的显示,第三方应用还存在内置字体
  2. 不能影响其他字体的文本显示(这里主要是指应用内置字体)

综合上述,也就是对当前字体就行调整文本留白。

PS: 使用includeFontPadding 存在个别字符和符合存在截断问题,比如yg,这种需要特别注意。

参考文章

  1. Android-TextView的includeFontPadding到底行不行_bdmh的博客-CSDN博客_includefontpadding
  2. 安卓开发,textview用了android:includeFontPadding 顶部还是有空白,怎么去掉。_百度知道 (baidu.com)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

Android P之Launcher启动

前言记录下一下Launcher是啥时候启动,至于启动中所有步骤这里不细写。记录于此,主要是方便自己的。PS : 分析源码 Android 9.0(P)正文正常情况下,Launcher是Android中第一个启动的应用。Launcher是Android系统的桌面,也是提供进入其他应用的...

JNI静态注册

前言之前其实写过,代码不见了,为了走一下流程,重新简单的写了一个。PS:设计NDK环境配置这里不介绍哈正文静态注册先由Java得到本地方法的声明,然后再通过JNI实现该声明方法。优点: 理解和使用方式简单, 属于傻瓜式操作, 使用相关工具按流程操作就行, 出错率低缺点: 当需...

大卫.索罗:孤独

在这美妙的黄昏,我的身心融为一体,大自然的一切尤显得与我相宜。夜幕降临了,风儿依然在林中呼啸,水仍在拍打着堤岸,一些生灵唱起了动听的催眠曲。伴随黑夜而来的并非寂静,猛兽在追寻猎物。这些大自然的更夫使得生机勃勃的白昼不曾间断。我的近邻远在一英里开外,举目四望,不见一片房舍,只有距我半英里地的黑暗的山...

Android的fontScale不随系统设置变化

前言由于Android开发中部分第三方应用字体过小,用户会调整Android系统的字体大小,但由于我们应用是定制化开发的,改变字体也会影响我们应用的字体显示。因此需求:定制化的APP内字体大小不随系统设置变化。正文在Activity中重写如下方法 @Override pr...

JNI之List集合

前言之前学了JNI中传输和创建对象数组,那如果穿集合呢?因此也整理一下,方便自己查阅。这里以ArrayList为例。正文还是在之前的基础改的,具体细节,这里不重复了。隐藏内容!评论可看后才能查看!评论可看参考文章《JNI开发-Java传递List集合对象到C/C++》《...

[摘抄]Linux之find命令详解

前言find是个使用频率比较高的命令。常常用它在系统特定目录下,查找具有某种特征的文件。记录一下,方便自己查阅。正文命令的格式:find [-path……] -options [-print -exec -ok]path要查找的目录路~ 表示$HOME目录. 表示当前目录/ 表...