我使用新品牌Kotlin Compose作为我的视图,我有一行有两个项目,我如何才能让它们像center-vertical一样?

    Row(
            modifier = Spacing(20.dp)
    ) {
        Text(text = "Hello $name!")
        Spacing(10.dp)
        Padding(padding = 25.dp) {
            Button(text = "Click", onClick = { /*do something*/ })

        }
    }

enter image description here

请注意,如果没有填充,它们也不会对齐.

推荐答案

Row中有verticalAlignment个论点.您也可以使用align修改量来分别配置项目对齐,该修改量将改写行的verticalAlignment.例如:

@Composable
fun RowAlignmentExample() {
    Row(verticalAlignment = Alignment.CenterVertically) {
        SizeTile(14)
        SizeTile(18)
        SizeTile(22)
        SizeTile(26)
        SizeTile(10, modifier = Modifier.align(Alignment.Top))
        SizeTile(10, modifier = Modifier.align(Alignment.Bottom))
    }
}

@Composable
fun SizeTile(fontSize: Int, modifier: Modifier = Modifier) {
    Text(
        text = fontSize.toString(),
        fontSize = fontSize.sp,
        modifier = modifier
            .padding(2.dp)
            .background(Color.White, RoundedCornerShape(4.dp))
            .padding(2.dp)
    )
}

enter image description here

Kotlin相关问答推荐

如何在 Big Data 中使用Inc过滤器?

我如何测试一个可组合组件没有显示,但如果它不存在也接受?

可以从背景图像中点击图标吗?

Kotlin接口方法默认值&;可传递依赖项

Kotlin中是否可以混合使用推断和显式的通用类型参数?

如何为 Kotlin 中的每个循环设置以避免越界异常

为什么在 Kotlin 中调用私有构造函数会导致错误为无法访问 是什么?

DatabaseManager_Impl 不是抽象的,不会覆盖 RoomDatabase 中的抽象方法 clearAllTables()

如何使用 Coil 从 URL 获取位图?

Kotlin默认使用哪种排序?

如何使用Kotlin Dokka记录主构造函数参数

如何在 Kotlin 中传递有界通配符类型参数?

将多个 Kotlin 流合并到一个列表中,而无需等待第一个值

Kapt不适用于Android Studio 3.0中的AutoValue

在调用Kotlin数据类中的超类构造函数之前访问函数

如何为kotlin异常生成SerialVersionId?

Kotlin中具有多个参数的绑定适配器

Kotlin out-projected 类型禁止使用

通过在 kotlin-gradle 中使用子项目Unresolved reference: implementation

在 Android 12 (SDK 31) 中获取 android.app.ForegroundServiceStartNotAllowedException