问题描述
我想将汉堡包图标添加到应用栏,然后使用该图标打开/关闭抽屉。
Scaffold(
drawerShape = RoundedCornerShape(topRight = 10.dp,bottomright = 10.dp),drawerElevation = 5.dp,drawerContent = {
// Drawer
},topBar = {
TopAppBar(
navigationIcon = {
Icon(
Icons.Default.Menu,modifier = Modifier.clickable(onClick = {
// Open drawer => How?
})
)
},modifier = Modifier
.fillMaxWidth()
.clip(RoundedCornerShape(bottomLeft = 10.dp,bottomright = 10.dp)),title = { Text(text = "Hello") }
)
},) {}
解决方法
使用 rememberScaffoldState()
修改抽屉状态。
- 创建变量:
val state = rememberScaffoldState()
- 将状态传递到
Scaffold
Scaffold(
scaffoldState = state,// ...
)
-
在
state.drawerState.open()
中使用state.drawerState.close()
或onClick
打开/关闭抽屉。 -
在
navigationIcon
中为TopAppBar
创建图标:
val state = rememberScaffoldState()
Scaffold(
scaffoldState = state,topBar = {
TopAppBar(
title = { Text(text = "AppBar") },navigationIcon = {
Icon(
Icons.Default.Menu,modifier = Modifier.clickable(onClick = {
state.drawerState.open() // or toggle
})
)
}
)
},drawerShape = RoundedCornerShape(topRight = 10.dp,bottomRight = 10.dp),drawerContent = {
Text(text = "Drawer")
}
) {
// Scaffold body
}
,
使用 dr = te.where((te.latitude > 72) & (te.latitude < 80) & (te.longitude > -15) & (te.longitude < 10),drop=True)
(使用 1.0.0
测试),您可以使用:
1.0.0-beta07