禁止viewpager不可滚动
Posted 嘉禾世兴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了禁止viewpager不可滚动相关的知识,希望对你有一定的参考价值。
import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.MotionEvent; public class ViewPagerNoSlide extends ViewPager { private boolean isCanScroll = false; public ViewPagerNoSlide(Context context) { super(context); } public ViewPagerNoSlide(Context context, AttributeSet attrs) { super(context, attrs); } public void setScanScroll(boolean isCanScroll) { this.isCanScroll = isCanScroll; } @Override public void scrollTo(int x, int y) { super.scrollTo(x, y); } @Override public boolean onTouchEvent(MotionEvent arg0) { if (isCanScroll) { return super.onTouchEvent(arg0); } else { return false; } } @Override public void setCurrentItem(int item, boolean smoothScroll) { super.setCurrentItem(item, smoothScroll); } @Override public void setCurrentItem(int item) { super.setCurrentItem(item); } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { if (isCanScroll) { return super.onInterceptTouchEvent(arg0); } else { return false; } } }
然后在需要的地方调用
setScanScroll(false);
以上是关于禁止viewpager不可滚动的主要内容,如果未能解决你的问题,请参考以下文章
当我从一个选项卡单击到另一个选项卡时,如何使TabLayout中的选项卡不可滚动
在 CoordinatorLayout Android 中的 ViewPager 片段中使用 NestedScrollView 突然滚动
我的片段中有 webview,当滑动 webview 时, viewPager 也开始滑动