1. 基础文本组件展示
Text 组件参数与显示效果对照
Text 是 Compose 中最基础的文本显示组件,其核心参数直接决定文本在屏幕上的视觉呈现。下面通过一个可运行的示例,展示 fontSize、color、fontWeight、textAlign 四个参数对显示效果的影响。
完整示例代码
以下代码定义了一个可组合函数,依次展示不同参数组合下的 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()
)
}
}
关键参数说明
| 参数 | 类型 | 作用 | 常用取值 |
|---|---|---|---|
| fontSize | TextUnit | 控制文字大小 | 14.sp、16.sp、20.sp、28.sp |
| color | Color | 控制文字颜色 | Color.Black、Color(0xFF1E88E5) |
| fontWeight | FontWeight | 控制笔画粗细 | Normal、Medium、Bold |
| textAlign | TextAlign | 控制文本在容器内的水平对齐 | Start、Center、End、Justify |
观察要点:textAlign 只有在 Text 的宽度大于文本实际宽度时才能观察到对齐差异。默认 Text 宽度包裹内容,此时 Start/Center/End 效果相同。使用
Modifier.fillMaxWidth() 让 Text 撑满容器宽度后,对齐参数才会生效。
常见误区:fontSize 使用 sp 单位而非 dp。sp 会随系统字体缩放设置变化,dp 不会。如果希望文字大小不随用户系统字体设置改变,可以使用 dp 转 sp 的方式固定,但通常建议保留 sp 以尊重无障碍设置。