PageSlider如何准确判断是向左滑还是向右滑?

PageSlider 鸿蒙
2021-04-27 10:19:26
浏览
收藏 0
回答 3
待解决
回答 3
按赞同
/
按时间
奶盖
5

pageSlider滑动监听事件

   pageSlider.addPageChangedListener(new PageSlider.PageChangedListener() {
            @Override
            public void onPageSliding(int i, float v, int i1) {
                //v:指示页面的位置偏移量。值的范围是(0,1]。
                // 0表示正在显示目标页面。
                //i1:指示显示页面的位置偏移像素数。
            }

            @Override
            public void onPageSlideStateChanged(int i) {
                HiLog.info(LOG_LABEL, "--------onPageSlideStateChanged");
            }

            @Override
            public void onPageChosen(int i) {
                ((RadioButton) radioContainer.getComponentAt(i)).setChecked(true);
            }
        });
分享
微博
QQ
微信
回复
2021-04-27 14:04:09
mb60472c0647ced
4

我的项目里通过provider和currentIterm然后获取当前的page显示的控件view,再获取这个view在屏幕左边的x值和pageslider控件在屏幕左边的左边x值,通过他们的差值可以判断是左滑还是右滑,并修正pageSlider的偏移量 偏移距离和viewpager一样,同时position可以用currentPage来修正。

分享
微博
QQ
微信
回复
2021-04-28 12:16:30
学徒张小秋
2

https://gitee.com/openharmony-tpc/FlycoPageIndicator/blob/master/FlycoPageIndicator_Lib/src/main/java/com/flyco/pageindicator/indicator/FlycoPageIndicator.java,这个组件中有处理这个方法,你可以复制试试

分享
微博
QQ
微信
回复
2021-04-28 17:20:42
相关问题
HarmonyOS 页面禁止左
131浏览 • 1回复 待解决
【JS】如何实现左删除功能?
3340浏览 • 1回复 待解决
如何判断当前release包还是debug包
1207浏览 • 1回复 待解决
判断当前设备手机还是平板
6228浏览 • 1回复 待解决
获取左返回手势方法
158浏览 • 1回复 待解决
ATS如何判断路径文件夹还是文件?
442浏览 • 1回复 待解决
智能穿戴开发怎么关闭右退出?
3364浏览 • 1回复 待解决
实现二次侧退出应用
1720浏览 • 1回复 待解决
删除功能的列表有哪些?
701浏览 • 1回复 待解决
如何判断某一年365天还是366天?
275浏览 • 1回复 待解决
HarmonyOS 二级页面左关闭问题
157浏览 • 1回复 待解决
HarmonyOS 侧返回事件拦截与绑定
982浏览 • 1回复 待解决