当前位置:首页 > 编程笔记 > 正文
已解决

DrawerLayout的点击事件会穿透到底部,如何拦截?

来自网友在路上 147847提问 提问时间:2023-11-01 12:17:18阅读次数: 47

最佳答案 问答题库478位专家为你答疑解惑

DrawerLayout实现侧后,发现了一个问题。点击DrawerLayout的画面,会触发覆盖的底层页面的控件。由此说明点击事件穿透到了底部。但是我只需要触发抽屉布局里的控件,不想触发底层被覆盖的看不见的按钮,由此我想到的时让抽屉页面拦截点击事件即可。

解决方法:在侧滑监听里的onDrawerOpened监听中添加一个配置:

drawerView.setClickable(true);

如此就拦截了点击事件。具体代码如下: 

   //抽屉布局添加点击监听myDrawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {@Overridepublic void onDrawerSlide(View drawerView, float slideOffset) {super.onDrawerSlide(drawerView, slideOffset);//LogUtil.i("onDrawerSlide");}@Overridepublic void onDrawerOpened(View drawerView) {super.onDrawerOpened(drawerView);LogUtil.i("onDrawerOpened");drawerView.setClickable(true);}@Overridepublic void onDrawerClosed(View drawerView) {super.onDrawerClosed(drawerView);LogUtil.i("onDrawerClosed");}@Overridepublic void onDrawerStateChanged(int newState) {super.onDrawerStateChanged(newState);LogUtil.i("onDrawerStateChanged");}});

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"DrawerLayout的点击事件会穿透到底部,如何拦截?":http://eshow365.cn/6-29327-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!