首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于特定条件的viewPager刷屏

问基于特定条件的viewPager刷屏
EN

Stack Overflow用户
提问于 2018-07-29 15:37:55
回答 1查看 290关注 0票数 0

我有一个可以刷5页或更多页的viewPager。有些页面包含表单输入字段。根据输入值,可以启用或禁用卷帘。例如:如果页面包含复选框,并且它是必填字段,则需要选中。如果只勾选,那么swipe应该可以工作,否则将停留在同一页面上。

EN

回答 1

Stack Overflow用户

发布于 2018-07-29 15:40:49

您可以扩展viewpager类以创建自定义viewpager实现。在该类中,您需要根据需要重写"canScrollHorizontally“方法以返回true或false

代码语言:javascript
复制
    public class LockableViewPager extends ViewPager {

        private boolean swipeLocked;

        public LockableViewPager(Context context) {
            super(context);
        }

        public LockableViewPager(Context context, AttributeSet attrs) {
            super(context, attrs);
        }

        public boolean getSwipeLocked() {
            return swipeLocked;
        }

        public void setSwipeLocked(boolean swipeLocked) {
            this.swipeLocked = swipeLocked;
        }

        @Override
        public boolean onTouchEvent(MotionEvent event) {
            return !swipeLocked && super.onTouchEvent(event);
        }

        @Override
        public boolean onInterceptTouchEvent(MotionEvent event) {
            return !swipeLocked && super.onInterceptTouchEvent(event);
        }

        @Override
        public boolean canScrollHorizontally(int direction) {
            //control this method based on your logic
            return !swipeLocked && super.canScrollHorizontally(direction);
        }

    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51578275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档