Control which directions the ViewPager can be scrolled, dynamically with UI feedback

后端 未结 5 524
既然无缘
既然无缘 2020-12-13 22:40

I\'m working on an app which uses many pages to swipe through, however at some pages I would like to be able to prevent scrolling to the next page until they\'ve selected so

5条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-13 23:21

    I implmented viewpager for a wizard with a max page that the user can't pass it.

    At the end the solution was in the adapter. I changed the count of the PagerAdapter and this way blocks the user from passing the max page:

    @Override
    public int getCount() {
        return mProgress; //max page + 1
    }
    

    When the user progresses to the next page:

    private void setWizardProgress(int progress) {
        if(progress > mProgress) {
            mProgress = progress;
            mWizardPagerAdapter.notifyDataSetChanged();
        }
    }
    

    This way when the user is at max page he can't scroll to the right until the progress is updated.

提交回复
热议问题