是否可以禁用ViewPager上的滚动

我有一个ViewPager实例化一个View。我想在搜索结果返回视图时暂时禁用viewpager和子按钮的滚动。我已经打电话了,viewPager.setEnabled(false)但这并没有禁用它。

任何人有任何想法吗?


猛跑小猪
浏览 416回答 3
3回答

繁星淼淼

有一个简单的解决方法:当您想禁用viewpager滚动时:mViewPager.setOnTouchListener(new OnTouchListener() {   public boolean onTouch(View arg0, MotionEvent arg1) {      return true;   }}); 而当您想重新启用它时:mViewPager.setOnTouchListener(null);这样就可以了。

慕后森

这是我对Slayton的回答的轻量变体:public class DeactivatableViewPager extends ViewPager {    public DeactivatableViewPager(Context context) {        super(context);    }    public DeactivatableViewPager(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override    public boolean onTouchEvent(MotionEvent event) {        return !isEnabled() || super.onTouchEvent(event);    }    @Override    public boolean onInterceptTouchEvent(MotionEvent event) {        return isEnabled() && super.onInterceptTouchEvent(event);    }}使用我的代码,您可以使用禁用分页setEnable()。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android