jetpack compose中的layer-list相当于什么?
<?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>我想获得一个图像,如图所示,用作所有屏幕的背景

发布于 2021-09-14 05:11:50
你可以很容易地在compose中绘制它。使用Box,您可以将任意数量的图像放在彼此的顶部,就像layer list一样。因此,一般而言,您可以使用类似以下内容:
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 = "...",
)
}但在您的示例中,看起来只需要一张图像,并且可以为其设置背景色。由于您需要在应用程序中重用它,因此可以将其移动到单独的视图中,例如:
@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
}
}https://stackoverflow.com/questions/69169068
复制相似问题