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

使用Material3 Text Composable遇参数不匹配错误,请问问题出在哪?

问题原因及解决方法

错误出在Text组件的fontSize参数上:

  • MaterialTheme.typography.bodyMedium返回的是TypographyStyle对象,但fontSize参数需要的是具体的Sp类型数值,而非整个样式对象。

修复后的代码

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview

@Composable
fun HomeScreen(){
    Box(
        modifier = Modifier.fillMaxSize().background(Color.Yellow),
        contentAlignment = Alignment.Center
    ){
        Text(
            text = "HOME",
            // 修正:获取TypographyStyle中的fontSize属性
            fontSize = MaterialTheme.typography.bodyMedium.fontSize,
            fontWeight = FontWeight.Bold,
            color = Color.Black,
          )
    }
}

@Composable
@Preview
fun HomeScreenPreview(){
    HomeScreen()
}

额外优化建议

你也可以直接使用style参数应用整个Typography样式,再通过copy方法修改局部属性,代码更简洁:

Text(
    text = "HOME",
    style = MaterialTheme.typography.bodyMedium.copy(
        fontWeight = FontWeight.Bold,
        color = Color.Black
    )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:47:06