Android Jetpack Compose中如何让TextView水平居中?
在Android Jetpack Compose中实现Text水平居中的方法
有两种常用方式可以让Compose中的Text组件水平居中:
方式一:通过布局修饰符实现组件级居中
如果你的Text位于父布局(如Column、Row)内,可通过Modifier.align()让组件在父布局中水平居中;若需要Text占满父布局宽度,可搭配fillMaxWidth():
示例代码(Column父布局场景)
Column { Text( text = "Title of ModalBottomSheet", style = MaterialTheme.typography.headlineSmall, modifier = Modifier .padding(bottom = 8.dp) .align(Alignment.CenterHorizontally) ) }
示例代码(占满父宽度场景)
Text( text = "Title of ModalBottomSheet", style = MaterialTheme.typography.headlineSmall, modifier = Modifier .padding(bottom = 8.dp) .fillMaxWidth() .align(Alignment.CenterHorizontally) )
方式二:通过Text自身属性实现文本居中
给Text设置textAlign = TextAlign.Center,同时配合fillMaxWidth()让Text占满父布局宽度,文本会在组件范围内自动水平居中:
Text( text = "Title of ModalBottomSheet", style = MaterialTheme.typography.headlineSmall, textAlign = TextAlign.Center, modifier = Modifier .padding(bottom = 8.dp) .fillMaxWidth() )
两种方式的区别
- 方式一聚焦于组件在父布局中的位置居中,即使Text未占满宽度,也能在父布局里水平居中;
- 方式二聚焦于文本在Text组件内部的对齐,需组件占满宽度才能看到完整的居中效果。
内容的提问来源于stack exchange,提问作者Abhijit Chakra
相关产品推荐
相关产品推荐

