如何在 Jetpack Compose 中设置脚手架抽屉宽度?

2024-01-29

我们可以使用 JetpackCompose 中的导航抽屉Scaffold如下

Scaffold(
    drawerContent = { Text(text ="Drawer") }
) {}

我想让抽屉的宽度变小。我怎样才能这样做呢?


您可以使用以下命令修改形状(包括宽度和高度)drawerShape参数输入Scaffold https://developer.android.com/reference/kotlin/androidx/compose/material/package-summary#Scaffold(androidx.compose.ui.Modifier,androidx.compose.material.ScaffoldState,kotlin.Function0,kotlin.Function0,kotlin.Function1,kotlin.Function0,androidx.compose.material.FabPosition,kotlin.Boolean,kotlin.Function1,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.ui.unit.Dp,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1) method.

例如

 Scaffold(
    scaffoldState = scaffoldState,
    drawerContent = { Text("Drawer content") },
    drawerShape = customShape(),
    content = {inner padding -> /* Body*/}
)

然后你的 customShape 函数

fun customShape() =  object : Shape {
    override fun createOutline(
        size: Size,
        layoutDirection: LayoutDirection,
        density: Density
        ): Outline {
            return Outline.Rectangle(Rect(0f,0f,100f /* width */, 131f /* height */))
     }
 }

您还可以使用轮廓.圆形 https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Outline.Rounded得到圆角

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Jetpack Compose 中设置脚手架抽屉宽度? 的相关文章

随机推荐