1. 基础文本组件展示

基础文本组件展示 学习卡片

Text 组件参数与显示效果对照

Text 是 Compose 中最基础的文本显示组件,其核心参数直接决定文本在屏幕上的视觉呈现。下面通过一个可运行的示例,展示 fontSize、color、fontWeight、textAlign 四个参数对显示效果的影响。

Text 组件参数 → 显示效果映射 参数设置 fontSize 16.sp / 28.sp color Color(0xFF1E88E5) fontWeight Normal / Bold textAlign Start / Center / End 渲染效果 fontSize=16.sp Compose 文本 fontSize=28.sp + color=蓝 Compose 文本 fontWeight=Bold Compose 文本 textAlign=Center(容器宽度 200dp) Compose 文本 参数独立生效,组合使用时共同决定最终渲染结果

完整示例代码

以下代码定义了一个可组合函数,依次展示不同参数组合下的 Text 效果。每个 Text 上方用注释标明当前参数值,便于对照观察。

@Composable
fun BasicTextDemo() {
    Column(
        modifier = Modifier
            .fillMaxWidth()
            .padding(16.dp),
        verticalArrangement = Arrangement.spacedBy(12.dp)
    ) {
        // 默认参数
        Text(text = "默认样式:16.sp / 黑色 / Normal / Start")

        // 字号对比
        Text(
            text = "字号 28.sp",
            fontSize = 28.sp
        )

        // 颜色 + 字号
        Text(
            text = "蓝色 20.sp",
            fontSize = 20.sp,
            color = Color(0xFF1E88E5)
        )

        // 字体粗细
        Text(
            text = "加粗 Bold 18.sp",
            fontSize = 18.sp,
            fontWeight = FontWeight.Bold
        )

        // 对齐方式:需要容器有明确宽度才能观察到对齐差异
        Text(
            text = "居中对齐 Center",
            fontSize = 16.sp,
            textAlign = TextAlign.Center,
            modifier = Modifier.fillMaxWidth()
        )

        Text(
            text = "右对齐 End",
            fontSize = 16.sp,
            textAlign = TextAlign.End,
            modifier = Modifier.fillMaxWidth()
        )

        // 组合参数
        Text(
            text = "组合:24.sp / 紫色 / Bold / Center",
            fontSize = 24.sp,
            color = Color(0xFF7C3AED),
            fontWeight = FontWeight.Bold,
            textAlign = TextAlign.Center,
            modifier = Modifier.fillMaxWidth()
        )
    }
}

关键参数说明

参数类型作用常用取值
fontSizeTextUnit控制文字大小14.sp、16.sp、20.sp、28.sp
colorColor控制文字颜色Color.Black、Color(0xFF1E88E5)
fontWeightFontWeight控制笔画粗细Normal、Medium、Bold
textAlignTextAlign控制文本在容器内的水平对齐Start、Center、End、Justify
观察要点:textAlign 只有在 Text 的宽度大于文本实际宽度时才能观察到对齐差异。默认 Text 宽度包裹内容,此时 Start/Center/End 效果相同。使用 Modifier.fillMaxWidth() 让 Text 撑满容器宽度后,对齐参数才会生效。
常见误区:fontSize 使用 sp 单位而非 dp。sp 会随系统字体缩放设置变化,dp 不会。如果希望文字大小不随用户系统字体设置改变,可以使用 dp 转 sp 的方式固定,但通常建议保留 sp 以尊重无障碍设置。