Jetpack Compose中PlatformTextStyle已弃用,是否推荐使用includePadding=false?
Jetpack Compose中includeFontPadding的使用疑问解答
核心结论
不推荐主动设置includeFontPadding=false,结合官方说明的详细解读如下:
官方文档内容(翻译整理)
includeFontPadding最初是Android为解决复杂高脚本文字(如部分东亚文字)被裁剪的问题而添加的配置,但Android 28之后该问题已被官方修复。Jetpack Compose为Android 28以下的旧版本做了修复逻辑的回传,所以原本需要依赖includeFontPadding的场景在Compose框架下已经完全不存在了。这个配置仅作为迁移兼容项保留——专门给那些依赖includeFontPadding=true旧行为的老项目做过渡,后续会被官方移除。
疑问解答
1. 是否推荐使用includeFontPadding=false?
不推荐,原因有两点:
- Compose已经内置了针对文字裁剪问题的全版本修复,无论运行在哪个Android版本上,文字都不会出现异常裁剪,完全不需要手动关闭这个padding。
- 该配置是过渡性兼容项,官方明确说明后续会移除,现在依赖它会给未来的Compose版本升级留下适配隐患。如果你的项目是基于Compose全新开发的,完全没必要设置这个参数。
2. 有没有其他设置includeFontPadding=false的方式?
目前官方提供的唯一方式就是你正在使用的:
platformStyle = PlatformTextStyle(includeFontPadding = false)
但再次强调,不建议使用这种方式。如果是觉得文字上下间距不符合设计要求,更推荐用Compose原生的方式调整:
- 通过
Text组件的modifier添加自定义padding或控制height - 自定义
TextStyle的lineHeight参数来精准控制文字行高
内容的提问来源于stack exchange,提问作者jakchang
相关产品推荐
相关产品推荐

