如何在Jetpack Compose中实现Text组件的垂直顶部、底部及居中对齐?无需额外容器的垂直居中方案
解决Jetpack Compose Text垂直居中(无需额外容器)
嘿,这个问题我之前也碰到过!确实,TextAlign参数只负责文本在自身宽度范围内的水平对齐,完全管不了垂直方向的位置。不过不用额外嵌套容器也能搞定,直接在Modifier上动手就行。
你只需要给Modifier添加垂直对齐的配置,修改后的代码如下:
Text( text = "Text", modifier = Modifier.size(100.dp).wrapContentHeight(align = Alignment.CenterVertically), textAlign = TextAlign.Center )
原理说明
wrapContentHeight(align = Alignment.CenterVertically):让文本在你设置的固定高度(100dp)范围内,沿着垂直方向居中排列- 配合
textAlign = TextAlign.Center,就能同时实现文本的水平+垂直居中
如果你想更简洁,也可以用wrapContentSize一次性设置整体对齐:
Text( text = "Text", modifier = Modifier.size(100.dp).wrapContentSize(Alignment.Center), textAlign = TextAlign.Center )
这两种方式都不需要额外的容器视图,直接通过Text自身的Modifier就完成了垂直对齐的需求。
内容的提问来源于stack exchange,提问作者Dan Artillaga
相关产品推荐
相关产品推荐

