今天,简单讲讲Android如何禁止Viewpager左右滑动功能。
1,原理:
百度后发现重写ViewPager,覆盖ViewPager的onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法,这两个方法的返回值都是boolean类型的,只需要将返回值改为false,那么ViewPager就不会消耗掉手指滑动的事件了
2,代码:
package com.example.administrator.recyclerviewdemo.activity; import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent; /** * Created by Administrator on 2017/5/19. */ public class CustomViewPager extends ViewPager { private boolean isCanScroll = true; public CustomViewPager(Context context) { super(context); } public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); } /** * 设置其是否能滑动换页 * @param isCanScroll false 不能换页, true 可以滑动换页 */ public void setScanScroll(boolean isCanScroll) { this.isCanScroll = isCanScroll; } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return isCanScroll && super.onInterceptTouchEvent(ev); } @Override public boolean onTouchEvent(MotionEvent ev) { return isCanScroll && super.onTouchEvent(ev); } }
android 禁止Viewpager左右滑动功能就讲完了。
就这么简单。