用户滑动viewpager时如何根据viewpager设置进度条的位置

问题描述

自动滑块基于 StoriesProgressView 的 setStoryDuration 时,它与视图分页器一起使用,所以那时我改变了 view-pager 的 setCurrentItem 并且工作正常,但我想做反向过程,如用户滑动视图寻呼机和 StoriesProgressView 进度条的位置设置基于视图寻呼机的当前位置。

这是我的代码

public class MainActivityNew extends AppCompatActivity {

    Context context;
    WrapContentHeightViewPager mPager;
    ProgressBar slider_progress;
    RelativeLayout main_drawer;
    StoriesProgressView storiesProgressView;

    final int NUM_PAGES = 6;
    private int currentPage2 = 0;
    private final int[] resources = new int[]{
            R.drawable.sample1,R.drawable.sample2,R.drawable.sample3,R.drawable.sample4,R.drawable.sample5,R.drawable.sample6,};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getwindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_main_new);
        context = this;

        mPager = findViewById(R.id.pager);
        storiesProgressView = (StoriesProgressView) findViewById(R.id.story_progress_view);
        slider_progress = findViewById(R.id.slider_progress);
        main_drawer = findViewById(R.id.main_drawer);

        try {
            storiesProgressView.setStoriesCount(NUM_PAGES);
            storiesProgressView.setStoryDuration(3000L);
            storiesProgressView.startStories();
            storiesProgressView.setStoriesListener(new StoriesProgressView.StoriesListener() {

                @Override
                public void onNext() {
                    if (NUM_PAGES == 1) {
                        currentPage2 = 0;
                        storiesProgressView.setStoriesCount(NUM_PAGES);
                        storiesProgressView.setStoryDuration(3000L);
                        storiesProgressView.startStories();
                        if (mPager != null) {
                            mPager.setCurrentItem(0);
                        }
                    } else {
                        currentPage2 = currentPage2 + 1;
                        mPager.setCurrentItem(currentPage2,true);
                    }
                }

                @Override
                public void onPrev() {
                    currentPage2 = currentPage2 - 1;
                    mPager.setCurrentItem(currentPage2--,true);
                }

                @Override
                public void onComplete() {
                    storiesProgressView.destroy();
                    currentPage2 = currentPage2 + 1;
                    if (currentPage2 == NUM_PAGES) {
                        currentPage2 = 0;
                        storiesProgressView.setStoriesCount(NUM_PAGES);
                        storiesProgressView.setStoryDuration(3000L);
                        storiesProgressView.startStories();
                        if (mPager != null) {
                            mPager.setCurrentItem(0);
                        }
                    }
                }
            });

            SlidingImage_Adapter2 adapter = new SlidingImage_Adapter2(context,resources);
            mPager.setAdapter(adapter);

        } catch (
                Exception e) {
            e.getStackTrace();
        }
    }
}

我正在使用这个库:Example & 这是我的演示:Demo

期待找到解决方案。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...