Android 15 TextView 新API
背景
做过国际化APP都知道, 有些地区的个别语言文字会超出 TextView 的绘制范围, 导致文字被切断, 无法完整显示.
最近网上冲浪发现Android 15为 TextView 添加了新的API, 可以使文字完整的显示出来, 有效解决了TextView文本被切断的问题.
快来看看吧!
New API
setUseBoundsForWidth
此方法用于控制 TextView 是否使用其边界来计算宽度.
当设置为 false 时(默认值), TextView 的宽度将根据
android:layout_width
属性和内容计算, 这与之前版本的 Android 行为一致.当设置为 true 时,TextView 的宽度将由其内容和边界确定, 即使宽度设置为自适应
android:layout_width="wrap_content"
. 这可以防止 TextView 在包含复杂字符(例如表情符号)时变得过宽.
shiftDrawingOffsetForStartOverhang
此方法用于控制 TextView 是否在绘制开始时偏移以适应悬垂字符.
当设置为 true 时,TextView 会在绘制开始时偏移,以确保悬垂字符(例如标点符号) 不会被裁剪。
当设置为 false 时(默认值),TextView 不会偏移,这与之前版本的 Android 行为一致。
总结
- 想要实现文字不被切断, 两个属性都要设置为true.
- 单独设置
setUseBoundsForWidth=true
会扩大宽度, 但是没有减少TextView内部padding, 导致文字仍然显示不全.
关于这两个属性, 并没有太多要进行介绍的, 这里只是简单记录下知识点, 想要知道效果, 自己试一试吧~
Android 15 TextView 新API
https://wangwenhui.site/2024/11/15/Android-15-TextView-新API/