gpt4 book ai didi

android - Jetpack 撰写 : Scaffold drawer opens when dragging MapView

转载 作者:行者123 更新时间:2023-12-04 23:40:39 28 4
gpt4 key购买 nike

在 Jetpack Compose 脚手架中使用抽屉时,可以使用手势来打开和关闭它。
如果脚手架内容包含 MapView,则无法水平拖动 map 。相反,抽屉被打开。
当水平拖动(滚动)可滚动行时,不会发生这种情况,抽屉不会打开。
当用户拖动 map 时,如何防止抽屉打开? 当其余的脚手架内容被拖动时,手势应该仍然有效。
不幸的是,包装 AndroidViewRow没有解决问题,还有用ModalDrawer代替脚手架。

使用 Compose rc02 和 kotlin 1.5.10 重现的代码(编辑:使用 Compose 1.0.3 和 Kotlin 1.5.30 验证):

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MaterialTheme {
Scaffold(
drawerContent = {
Text("Drawer Content")
},
content = {
Column {
Text("Dragging here should open the drawer")

val mapView = rememberMapViewWithLifecycle()
AndroidView({ mapView }, Modifier.fillMaxSize())
}
}
)
}
}
}
}
函数 rememberMapViewWithLifecycle()取自 Crane sample app .

最佳答案

当我尝试使用 Jetpack Compose 将 MapBox 集成到带有 NavigationDrawer 的应用程序中时,类似的事情发生在我身上。
我所做的是添加属性 drawerGesturesEnabled = false , 脚手架, 这样当我点击菜单图标时 NavigationDrawer 继续工作
如果您使用 drawerGesturesEnabled = scaffoldState.drawerState.isOpen你可以正常关闭它

关于android - Jetpack 撰写 : Scaffold drawer opens when dragging MapView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68560614/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com