Compose之Text控件文字居中

543 阅读1分钟

Text固定高度时,使用Modifier.align(Alignment.Center)无效

  • 使用.wrapContentHeight(Alignment.CenterVertically)
  • 在Text外层加上Box后,设置Box的属性:contentAlignment = Alignment.Center
@Preview(device = DeviceConfig.SCREEN_600W)
@Composable
fun Test4Text() {
    Column {
        Text(
            text = "测试字符串1",
            modifier = Modifier
                .fillMaxWidth(0.7f)
                .border(1.dp, Color.Red)
                .background(Color.Yellow)
                // 1.使用.wrapContentHeight(Alignment.CenterVertically)
                .height(80.dp)
                .wrapContentHeight(Alignment.CenterVertically),
            fontSize = 30.sp,
            textAlign = TextAlign.Center,
        )
        Spacer(modifier = Modifier.height(10.dp)  )

        //2.在Text外层加上Box后,设置Box的属性:contentAlignment = Alignment.Center
        Box(
            modifier = Modifier
                .fillMaxWidth(0.7f)
                .border(1.dp, Color.Red)
                .background(Color.Yellow)
                .height(80.dp),
            contentAlignment = Alignment.Center
        ) {
            Text(
                text = "测试字符串1",
                modifier = Modifier.background(Color.Green),
                fontSize = 30.sp,
                textAlign = TextAlign.Center,
            )
        }
    }
}

效果如下:

image.png

参考: