完美解决SlidingMenu中Listview无法点击的问题

说点题外话:这个SlidingMenu是真的恶心,功能远没有NavigationView强大,而且bug奇多。

正题:最开始是因为使用SlidingMenu只设置了出现的范围和事件,并未设置怎样关闭,后来查了一下知道了是使用

slidingMenu.setTouchModeBehind(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置可使菜单滑动关闭的范围

然后就遇到了非常蛋疼的事情:

我放在Menu里的Listview里面的item点不了了,这可是大问题,然后百度了也没百度出啥东西,最后突发奇想:

我不调用这个方法,自己重写Activity的onTouchEvent方法不行吗,为啥一定要调用这破方法。

然后......就解决了

但要注意,此方法只适合纵向的ListView,想要横向滑动的ListView和这个不冲突解决不了。

附上关键代码:

 @Override
    public boolean onTouchEvent(MotionEvent event) {
        float x=0;
        if(slidingMenu.isMenuShowing()) {   //判断slidingMenu是否展开,不展开就不调用此方法,不影响其他操作
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                x = event.getX();//获取当手指按在屏幕时的x坐标
            }
            if (event.getAction() == MotionEvent.ACTION_UP) {
                float x1 = event.getX();//获取当手指离开屏幕时的x坐标
                if (x1 - x > 10) {
                    slidingMenu.toggle(true);//关闭slidingMenu
                }
            }
        }
        return super.onTouchEvent(event);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值