java 的ViewPage监听滑动到最后一页了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 的ViewPage监听滑动到最后一页了相关的知识,希望对你有一定的参考价值。

private boolean isLastPage = false;
private boolean isDragPage = false;
private boolean canJumpPage = true;
//监听ViewPager的跳转状态,当跳转到最后一页时,执行jumpToNext()方法
viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {

        /**
         * 在屏幕滚动过程中不断被调用
         * @param position
         * @param positionOffset   是当前页面滑动比例,如果页面向右翻动,这个值不断变大,最后在趋近1的情况后突变为0。如果页面向左翻动,这个值不断变小,最后变为0
         * @param positionOffsetPixels   是当前页面滑动像素,变化情况和positionOffset一致
         */
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

                Log.v("AAA",isLastPage+"   "+isDragPage+"   "+positionOffsetPixels);
                if (isLastPage && isDragPage && positionOffsetPixels == 0) { //当前页是最后一页,并且是拖动状态,并且像素偏移量为0
                        if (canJumpPage) {
                                canJumpPage = false;
                                JumpToNext();
                        }
                }
        }

        /**
         * 这个方法有一个参数position,代表哪个页面被选中
         * @param position    当前页的索引
         */
        @Override
        public void onPageSelected(int position) {
                isLastPage = position == mImgIds.length-1;

        }

        /**
         * 在手指操作屏幕的时候发生变化
         * @param state   有三个值:0(END),1(PRESS) , 2(UP) 。
         */
        @Override
        public void onPageScrollStateChanged(int state) {

                isDragPage = state == 1;

        }
});

以上是关于java 的ViewPage监听滑动到最后一页了的主要内容,如果未能解决你的问题,请参考以下文章

简单Fragment+Tablayout+ViewPage实现底部和顶部滑动(菜单栏)

viewpage 循环滑动播放图片

android-数据在viewPage中丢失

viewpager如何判断已经滑动到第一张或者最后一张

为啥我在 swift 上的视图是这样的 我更新了它,现在我可以向下滑动并能够返回到最后一页 XCODE 11

移动端swiper做页面切换,如何让做最后一页滑动时回到第一页