前言
Android开发中,我们知道TextView显示文本时是存在留白的,如图一的第一行[读书导航],明显比第二行“高大威猛”些。
虽然TextView默认存在留白,正常情况下的影响可以忽略不计,但如果换了个别字体后,如图二的第一行[读书导航],加上字体设计也存在留白,导致TextView占用的位置跟大了。
正文
图一
图二
回归正题,如何解决图二种的问题?
客户要求是字体,这种字体留白太多,导致TextView显示占用位置过大。
再说没有能力重新在这种字体上取消留白,那只能从我们Android系统或应用上想办法。
思路
- TextView配置android:includeFontPadding="false"
- 改framework层TextView默认includeFontPadding为false
思路一
对于单个应用来说,容易,只有每个TextView或者涉及文体显示的都加上android:includeFontPadding="false"即可
思路二
但定制项目,不能仅仅从单个应用来看,需要分析整个系统和第三方应用(可下载应用)存在的问题。这里只记录一下想思路(目前没有时间去研究,同事那边负责的)。
- 需要考虑第三方应用的显示,不仅仅客户定制的字体的显示,第三方应用还存在内置字体
- 不能影响其他字体的文本显示(这里主要是指应用内置字体)
综合上述,也就是对当前字体就行调整文本留白。
PS: 使用includeFontPadding 存在个别字符和符合存在截断问题,比如yg,这种需要特别注意。
参考文章
暂无评论...
随机推荐
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目录. 表示当前目录/ 表...