解决SlidingMenu和SwipeBackLayout右滑事件冲突问题

简介:

SwipeBackLayout向右滑动关闭当前Activity,SlidingMenu向右滑动则是打开menu部分。在同一个Activity中,当SlidingMenu处于打开状态时,此时向右滑动,事件会被SwipeBackLayout优先处理,导致屏幕上一大部分是menu,一小部分是Activity内容的时候居然是直接关闭当前Activity,显然,这不是用户所愿意看到的(正确操作场景为:当SlidingMenu处于打开状态,右滑先是相应SlidingMenu,慢慢关闭,然后再右滑时才是响应SwipeBackLayout关闭当前Activity,若SlidingMenu处于关闭状态,则直接响应SwipeBackLayout)。

考虑到SlidingMenu和SwipeBackLayout都各自有着自己的状态,且为了尽量耦合,可以进行如下处理(直接在当前Activity中重写dispatchTouchEvent,依据SlidingMenu状态设置SwipeBackLayout的可用状态):

复制代码
 1 @Override
 2 public boolean dispatchTouchEvent(MotionEvent ev) {
 3     if (menu.isMenuShowing()) {
 4         if (mSwipeBackLayout.getEnableGesture()) {
 5             mSwipeBackLayout.setEnableGesture(false);
 6         }
 7     } else {
 8         if (!mSwipeBackLayout.getEnableGesture()) {
 9             mSwipeBackLayout.setEnableGesture(true);
10         }
11     }
12     return super.dispatchTouchEvent(ev);
13 }
复制代码

 

---------------------------------------------------------------------------------
笔者水平有限,若有错漏,欢迎指正,如果转载以及CV操作,请务必注明出处,谢谢!
分类: Android

本文转自Windstep博客园博客,原文链接:http://www.cnblogs.com/lwbqqyumidi/p/4044106.html,如需转载请自行联系原作者
目录
相关文章
|
XML 数据格式
DrawerLayout侧滑菜单、Toolbar和沉浸式状态栏的使用
DrawerLayout侧滑菜单、Toolbar和沉浸式状态栏的使用
|
Web App开发 API 容器
CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar-Android M新控件
CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar-Android M新控件
298 0
|
Android开发 Java API
抽屉效果的实现(DrawerLayout和SlidingMenu的对比)
        在做谷歌电子市场的时候用的是DrawerLayout实现的抽屉效果,在新闻客户端的时候用的是开源框架SlidingMenu来实现的,总的来说,各有个的优点,侧滑(开源框架)实现的效果更好,但是DrawerLayout直接写布局文件就好了,不过我还是比较喜欢用开源框架的这个。下面分别来说说如何实现: 1、SlidingMenu  首先要引入SlidingMenu的库文件的
1282 0
|
容器
利用CustomScrollView实现更有趣的滑动效果
本篇介绍了 CustomScrollView 的基本用法以及 SliverAppBar 的使用,通过 SliverAppBar 可以让导航栏的滑动更有趣。
854 0
利用CustomScrollView实现更有趣的滑动效果
|
Android开发
NestedScrollView + ExpandableListView 显示不全问题和滑动冲突问题 。
NestedScrollView + ExpandableListView 显示不全问题和滑动冲突问题 。
|
数据库
ListView结合xutils3仿微信实现下拉加载更多
前言:最近涉及到和QQ打交道,定义所有的好友一共只能有300条消息,如果一次性从数据库读取300条或者更多,界面会有细微的卡顿.所以考虑了下分页,第一次进来只显示20条(仿微信),当用户滑到第一条后,如果数据库有消息,则再加载20条.
1088 0
|
Android开发 移动开发 存储
ListView嵌套webView 事件冲突解决
如图,红色部分为WebView,作为ListView头部存在,测试视频(h5)要左右滑动,ListView要上下滑动,保证视频控件和下面评论部分可以显示,但是这个时候就存在WebView横向滑动和ListView竖向滑动之间的冲突。
1419 0
|
Android开发
DrawerLayout侧滑详解
前面我们说了自定义侧滑菜单,也说了SlidingMenu的使用,这一节我们再来说下DrawerLayout。DrawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说DrawerLayout是因为第三方控件如SlidingMenu等出现之后,google借鉴而出现的产物。
1194 0
|
Java Android开发 容器
安卓框架——SlidingMenu使用技巧
SlidingMenu的一些常用属性 原文转载http://blog.csdn.net/zwl5670/article/details/48274109 [java] view plain copy   //设置侧滑菜单的位置,可选值LEFT , RIGHT ,LEFT_RIGHT(两边都有菜单时设置)   menu.
1135 0