android - jetpack compose 中的图层列表相当于什么?

标签 android kotlin android-jetpack-compose

jetpack compose 中的层列表相当于什么?

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/lightGray" />
    <item android:drawable="@drawable/transp_01" />
</layer-list>

我想要获得一张如图所示的图像,用作我所有屏幕的背景

enter image description here

最佳答案

您可以轻松地在 compose 中绘制它。使用 Box,您可以将任意数量的图像相互叠加,就像图层列表一样。所以一般来说,你可以使用这样的东西:

Box {
    // replace any color item from the layer list with box with background:
    Box(
        modifier = Modifier
            .background(Color.LightGray)
            .matchParentSize()
    )
    // replace drawable item with Image:
    Image(
        painter = painterResource(id = R.drawable.my_image),
        contentDescription = "...",
    )
}

但就您而言,您似乎只需要一张图像,并且可以为其设置背景颜色。由于您需要在应用程序中重用它,因此可以将其移动到单独的 View ,例如如下所示:

@Composable
fun BackgroundView(modifier: Modifier) {
    Image(
        painter = painterResource(id = R.drawable.transp_01),
        contentDescription = "...",
        modifier = modifier.background(Color.LightGray)
    )
}

然后将其设置为任何屏幕的背景,如下所示:

@Composable
fun SomeScreen() {
    Box(Modifier.fillMaxSize()) {
        BackgroundView(Modifier.matchParentSize())
        // screen content
    }
}

关于android - jetpack compose 中的图层列表相当于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69169068/

相关文章:

android - Flutter 中的 HTML 解析,用于 android/iOS 开发

java - 如何在 Firestore 中插入对象数组?

android - 向 Kotlin 改造调用发送参数

Android Studio + Gradle + Android 注解

java - 如何从 Android 应用程序向 SOAP Webservice 发送数据?

android - Material Design TextInputEditText 未激活时的边框颜色

kotlin - 使用Kotlin流和过滤器将无法转换为我的自定义类型异常

Android Jetpack 撰写 : Listen to user's keyboard input not working with Enter key

android - ScrollableTabRow 指示器宽度以匹配 Tab 内的文本

android-jetpack-compose - Jetpack Compose animateScrollTo 到绝对坐标或直接到元素