Android系统调大字体后TextView文字重叠不可读问题如何解决?
问题成因
该重叠问题由固定行高和可缩放字体的配置冲突导致:
- 代码中
textSize使用了sp单位,会跟随系统字体大小设置动态缩放,当系统调大字体时,14sp对应的实际文字渲染高度会显著变大。 - 你配置了固定值
android:lineHeight="16dp",行高不会跟随字体大小变化调整,且Android系统中设置固定lineHeight后,你额外配置的android:lineSpacingMultiplier="1.2"会直接失效。当文字实际渲染高度超过16dp时,上下行的文字区域就会重叠。
适配方案
按以下步骤调整布局代码即可适配不同系统字体大小:
- 直接删除
android:lineHeight="16dp"这行配置,保留android:lineSpacingMultiplier="1.2"即可,此时行高会自动按照当前字体大小的1.2倍动态计算,和字体大小同步缩放,避免重叠问题。 - 可选优化:如果需要保留最小高度限制,可将
android:minHeight="32dp"的单位从dp改为sp,避免系统字体调得过大时,最小高度不足以容纳文本的问题。
内容的提问来源于stack exchange,提问作者user15230333
相关产品推荐
相关产品推荐

