Android Kotlin组合,对齐行中的项目
我正在使用新品牌KotlinAndroid Kotlin组合,对齐行中的项目,android,kotlin,android-jetpack-compose,Android,Kotlin,Android Jetpack Compose,我正在使用新品牌KotlinCompose作为我的视图,我有一行有两个项目,如何使它们居中垂直-像这样 Row( modifier = Spacing(20.dp) ) { Text(text = "Hello $name!") Spacing(10.dp) Padding(padding = 25.dp) { Button(text = "Click", onClick = { /*
Compose
作为我的视图,我有一行有两个项目,如何使它们居中垂直
-像这样
Row(
modifier = Spacing(20.dp)
) {
Text(text = "Hello $name!")
Spacing(10.dp)
Padding(padding = 25.dp) {
Button(text = "Click", onClick = { /*do something*/ })
}
}
请注意,如果没有填充,它们也不会对齐。您可以使用
Align
composable
Align(Alignment.TopCenter) { //You can change the alignment to fit your needs.
Row(modifier = Spacing(20.dp)) {
Text(text = "Hello $name!")
Spacing(10.dp)
Padding(padding = 25.dp) {
Button(text = "Click", onClick = { /*do something*/ })
}
}
}
上面的代码应该对齐整行,但是如果希望每个组件相对于
行居中对齐,则需要单独包装每个组件。
在compose版本dev-14上,这是一个解决方案
Row(
modifier = Modifier.padding(20.dp),
verticalGravity = Alignment.CenterVertically
) {
Text(text = "Hello Android!",
modifier = Modifier.padding(end = 10.dp))
Button(text = { Text("Click") },
onClick = { /*do something*/ },
modifier = Modifier.padding(25.dp)
)
}
使用
1.0.0-beta02
可以使用以下内容:
Row(
modifier = Modifier.padding(20.dp),
verticalAlignment = Alignment.CenterVertically
) {
Text(text = "Hello!")
Spacer(modifier = Modifier.width(10.dp))
Button(onClick = { /*do something*/ },
modifier = Modifier.padding(25.dp)) {
Text(text = "Click")
}
}
中有
垂直对齐
参数。您还可以使用修改器单独配置项目对齐方式,该修改器将覆盖行的垂直对齐方式。例如:
@Composable
有趣的RowAlignmentExample(){
行(垂直对齐=对齐。中心垂直){
SizeTile(14)
SizeTile(18)
SizeTile(22)
SizeTile(26)
尺寸(10,修饰符=修饰符.align(Alignment.Top))
尺寸(10,修饰符=修饰符.align(Alignment.Bottom))
}
}
@组合的
趣味大小(fontSize:Int,修饰符:修饰符=修饰符){
正文(
text=fontSize.toString(),
fontSize=fontSize.sp,
修饰语=修饰语
.填充(2.dp)
.背景(颜色.白色,圆角形状(4.dp))
.填充(2.dp)
)
}
是否要将它们与屏幕中心垂直对齐?