Android中禁止SlidingPaneLayout的侧滑功能
2016-03-29 22:24
543 查看
Android中使用android.support.v4.widget.SlidingPaneLayout实现侧滑功能的时候,可能出现滑动屏幕时与SlidingPaneLayout的侧滑发生冲突,查看了帮助文档,发现并没有提供禁止侧滑的方法,所以不得不继承SlidingPanelLayout重写它的方法。直接上代码:
参考:http://www.cnblogs.com/apaojun/p/4288483.html
<span style="font-size:14px;"> <span style="font-size:14px;"><span style="font-size:14px;"> import android.content.Context; import android.support.v4.view.MotionEventCompat; import android.support.v4.widget.SlidingPaneLayout; import android.util.AttributeSet; import android.view.MotionEvent; /** * Created by long on 2016/3/29. */ public class PagerEnabledSlidingPaneLayout extends SlidingPaneLayout { //是否禁止侧滑 private boolean prohibitSideslip = false; public PagerEnabledSlidingPaneLayout(Context context){ super(context, null); } public PagerEnabledSlidingPaneLayout(Context context,AttributeSet attrs){ super(context, attrs, 0); } public PagerEnabledSlidingPaneLayout(Context context,AttributeSet attrs,int defStyle){ super(context, attrs, defStyle); } public boolean getProhibitSideslip(){ return prohibitSideslip; } //在需要禁止或允许侧滑的地方调用该方法 public void setProhibitSideslip(boolean prohibitSideslip){ this.prohibitSideslip = prohibitSideslip; } //该方法可以拦截SlidingPaneLayout的触屏事件 @Override public boolean onInterceptTouchEvent(MotionEvent ev) { switch (MotionEventCompat.getActionMasked(ev)){ case MotionEvent.ACTION_MOVE: if(prohibitSideslip){ return false; } } return super.onInterceptTouchEvent(ev); } @Override public boolean onTouchEvent(MotionEvent ev) { switch (MotionEventCompat.getActionMasked(ev)){ case MotionEvent.ACTION_MOVE: if(prohibitSideslip){ return false; } } return super.onTouchEvent(ev); } } </span> </span>
参考:http://www.cnblogs.com/apaojun/p/4288483.html
相关文章推荐
- Android组件之广播(Broadcast)
- [android] 安卓进程优先级&为什么使用服务
- Android 监听软键盘搜索键
- Android 监听软键盘搜索键
- Android Notification剖析
- gradle 基本配置介绍
- Android 内存优化学习
- Android studio 使用gradle 基础
- Android应用经典主界面框架之一:仿QQ (使用Fragment, 附源码)
- Android-NDK入门续
- Android使用LruCache缓存图片
- Android各种Manager
- Android笔记:实现圆角的Button
- android学习日志—Handler源码分析
- Android——ImageView.ScaleType设置图解
- Android开发基础 startActivityForResult()、onActivityResult()和setResult()方法之间的联系
- android常见错误一
- android常见错误一
- 客户端下载服务器视频然后播放
- [android] 采用服务录制电话&服务的生命周期