Android中禁止SlidingPaneLayout的侧滑功能
Android中使用android.support.v4.widget.SlidingPaneLayout实现侧滑功能的时候,可能出现滑动屏幕时与SlidingPaneLayout的侧滑发生冲突,查看了帮助文档,发现并没有提供禁止侧滑的方法,所以不得不继承SlidingPanelLayout重写它的方法。直接上代码:
<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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!