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

Jetpack Compose自定义主题排版无法作用于按钮文本问题

Jetpack Compose主题排版不作用于按钮文本的解决方案

问题根源

Jetpack Compose的Material Button组件默认采用Typography中的labelLarge样式,而非你自定义的bodyLarge。你只配置了bodyLarge,按钮自然不会继承对应的字体设置。

修复方法

方法一:全局配置按钮默认样式

修改CustomTypography,添加上labelLarge的配置,和你需要的bodyLarge保持一致:

val CustomTypography = Typography(
    bodyLarge = TextStyle(
        fontFamily = ReemKufi,
        fontWeight = FontWeight.Bold,
        fontSize = 16.sp,
        lineHeight = 24.sp,
        letterSpacing = 0.5.sp
    ),
    // 配置按钮默认使用的labelLarge样式
    labelLarge = TextStyle(
        fontFamily = ReemKufi,
        fontWeight = FontWeight.Bold,
        fontSize = 16.sp,
        lineHeight = 24.sp,
        letterSpacing = 0.5.sp
    )
)

这样所有默认依赖labelLarge的组件(比如Button、TextButton)都会自动应用你定义的字体样式。

方法二:局部指定按钮文本样式

如果不需要全局修改,可在使用Button时显式指定文本的样式:

Button(onClick = { /* 点击事件逻辑 */ }) {
    Text(
        text = "示例按钮",
        style = MaterialTheme.typography.bodyLarge
    )
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 21:37:11