如何检测 ModalNavigationDrawer 之外的屏幕点击?

问题描述 投票:0回答:1

我正在使用 Jetpack Compose 的

ModalNavigationDrawer
可组合项。我面临的问题是
ModalNavigationDrawer
手势无法与
HorizontalPager
的手势一起使用,因此我完全禁用了
ModalNavigationDrawer
中的手势。我有一个打开抽屉的按钮,但现在,由于禁用了手势,我无法通过简单地点击抽屉外部来关闭它。我尝试过自己实现它,但没有运气:一旦抽屉打开,就无法从其他可组合项中读取任何点击,并且唯一可以读取的点击是抽屉内的点击,但我想能够读取其外部的点击。我尝试使用
ModalNavigationDrawer
修改器将整个
Box
及其内容包装在
clickable
中,但当
ModalNavigationDrawer
打开时它不起作用。在我看来,绝对没有办法读取抽屉外面的点击声。这是真的吗?

android kotlin android-jetpack-compose
1个回答
0
投票

只需将其添加到框/列/主要内容在

drawerContent
中的任何内容中:

modifier = Modifier.clickable (enabled = true,
            onClickLabel = null,
            role = null,
            onClick = {},
            interactionSource = remember { MutableInteractionSource() },
            indication = null )

还要确保

gesturesEnabled
设置为 true

© www.soinside.com 2019 - 2024. All rights reserved.