Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin组合,对齐行中的项目_Android_Kotlin_Android Jetpack Compose - Fatal编程技术网

Android Kotlin组合,对齐行中的项目

Android 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 = { /*

我正在使用新品牌Kotlin
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)
)
}

是否要将它们与屏幕中心垂直对齐?