You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于MaterialTheme.typography.body2创建带红色的TextStyle实例?

如何基于MaterialTheme.typography.body2创建带自定义颜色的TextStyle实例?

首先说明Code B写法错误的原因:Jetpack Compose里的TextStyle是不可变数据类,所有属性都是只读的,没法直接通过style.color = Color.Red这种方式修改属性值。

要实现基于MaterialTheme.typography.body2并设置自定义颜色的需求,你可以利用Kotlin数据类的copy()方法,这个方法会复制原有实例的所有属性,同时允许你修改指定属性:

val style = MaterialTheme.typography.body2.copy(
    color = Color.Red
)

这种写法的好处是复用了body2样式里已定义的所有其他属性(比如字号、字重、字体族等),不需要像Code A那样从头定义每一个属性,既简洁又能保持与主题样式的一致性。

内容的提问来源于stack exchange,提问作者HelloCW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 20:05:27