为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以禁用ViewPager上的滚动

是否可以禁用ViewPager上的滚动

猛跑小猪 2019-10-15 10:53:38
我有一个ViewPager实例化一个View。我想在搜索结果返回视图时暂时禁用viewpager和子按钮的滚动。我已经打电话了,viewPager.setEnabled(false)但这并没有禁用它。任何人有任何想法吗?
查看完整描述

3 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

有一个简单的解决方法:


当您想禁用viewpager滚动时:


mViewPager.setOnTouchListener(new OnTouchListener() {


   public boolean onTouch(View arg0, MotionEvent arg1) {

      return true;

   }

}); 

而当您想重新启用它时:


mViewPager.setOnTouchListener(null);

这样就可以了。


查看完整回答
反对 回复 2019-10-15
?
慕后森

TA贡献1802条经验 获得超5个赞

这是我对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()。


查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 415 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信