美食分享网站设计,制作大型网站,自己做视频网站能赚钱,易尔通做网站怎么样以前没有做过真正的需求#xff0c;所以从来没有觉得事件拦截分发处理有什么好懂的。 现在做需求了#xff0c;真的是什么需求都有#xff0c;你作为开发都要去研究实现。比如说#xff0c;只能点不能滑动的viewpager。其实这都可以不用viewpager了。直接用fragment的repl… 以前没有做过真正的需求所以从来没有觉得事件拦截分发处理有什么好懂的。 现在做需求了真的是什么需求都有你作为开发都要去研究实现。比如说只能点不能滑动的viewpager。其实这都可以不用viewpager了。直接用fragment的replace掉就行了。那我想要不可以滑动的viewpager怎么办。 很简单在处理事件的时候return true表示自己处理不往下面传递。自己消费那如果你不想自己处理自己不做任何处理就 return false; 那viewpager就不会滑动了。 下面就是不可以滑动的viewpager: 禁止左右滑动 包括连续滑动也不响应
同时不影响setCurrentItem/*
* 文件名CustomViewPager
*/package com.example.widget;import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;public class CustomViewPager extends ViewPager {private boolean enabled false;public CustomViewPager(Context context) {super(context);}public CustomViewPager(Context context, AttributeSet attrs) {super(context, attrs);}Overridepublic boolean onTouchEvent(MotionEvent event) {// 触摸事件不触发if (this.enabled) {return super.onTouchEvent(event);}return false;}Overridepublic boolean onInterceptTouchEvent(MotionEvent event) {// 不处理触摸拦截事件if (this.enabled) {return super.onInterceptTouchEvent(event);}return false;}Overridepublic boolean dispatchTouchEvent(MotionEvent event) {// 分发事件这个是必须要的如果把这个方法覆盖了那么ViewPager的子View就接收不到事件了if (this.enabled) {return super.dispatchTouchEvent(event);}return super.dispatchTouchEvent(event);}public void setPagingEnabled(boolean enabled) {this.enabled enabled;}
}转载于:https://www.cnblogs.com/caoxinyu/p/10568711.html