当前位置: 首页 > 知识库问答 >
问题:

Android SimpleOnPageChangeListener-确定滑动方向

秦哲瀚
2023-03-14

我有一个扩展SimpleOnPageChangeListener的类,在我的onPageScrollStateChanged方法中,我希望能够确定用户是否通过ViewPager向前或向后滑动。一、 e.是否从左向右或从右向左滑动。

我在谷歌上搜索了很多,但找不到任何相关信息。我原以为onPageScrollStateChanged方法会提供一个参数,说明刷卡的方向,但事实并非如此。

    @Override
    public void onPageScrollStateChanged(int state) {

        // Determine whether the user is swiping forwards or backwards through the ViewPager
    }

有人有什么想法吗?

干杯迈克

共有2个答案

干浩阔
2023-03-14
        int prevPage;

        @Override
        public void onPageSelected(int position) {
            // went back a page
            if (position-1 == prevPage) {
                Log.i("Swipped", "Swipped Left");
            }
            // went up a page
            if (position+1 == prevPage) {
                Log.i("Swipped", "Swipped Right");
            }
            prevPage = position;


        }
太叔正文
2023-03-14

使用ViewPager。SimpleOnPageChangeListener,并在当前选项卡位置上保留一个实例变量,这样您就可以确定它是以哪种方式被刷的。

private final ViewPager.SimpleOnPageChangeListener mPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {

        @Override
        public void onPageSelected(final int position) {
            onTabChanged(mPager.getAdapter(), mCurrentTabPosition, position);
            mCurrentTabPosition = position;
        }
    };

 protected void onTabChanged(final PagerAdapter adapter, final int oldPosition, final int newPosition) {
        //Calc if swipe was left to right, or right to left
         if (oldPosition>newPosition){
           // left to right
         }
         else{
           //right to left 
         }

    }
 类似资料:
  • 如何阻止viewpager仅向一个方向滚动。例如,只允许向右滑动,而不允许向左滑动。我完全被卡住了,任何帮助都将不胜感激。要注意的是,我需要让它在Android 2.2版上工作,所以我使用ViewPager的兼容性库。 提前感谢

  • 我已经实现了swipe以将其删除到我的RecycerView中。它触发2个功能(编辑记录和删除)。如果你向左滑动,你编辑它,如果向右滑动,你删除它。我在RecycerView项的一般部分下有这样的布局

  • 我想在查看页面2中禁用从右向左滑动。我基本上有一个viewpager2元素,在导航抽屉中有两页。我希望我的第二页仅在单击第一页中的某个元素时显示(从第一页向右向左滑动不应打开第二页),而当我在第二页时,viewpager2滑动(从左向右滑动)应像在viewpager中一样滑动。 我尝试过扩展类并覆盖触摸事件,但不幸的是它是最终类,因此我无法扩展它。 其次,我尝试使用将userinputened设置

  • 模仿大众点评网的团购页面,整体布局滑动到顶端时,信息描述的view停止在顶端,其他布局仍可滑动。在demo中的表现是:白色视图往上滑动接近屏幕顶端时,将停止(表现为表层出现一个暗红色的视图)滑动,底部的视图继续往上移动。底部视图往下移动时,当滑动到一定位置时(表现为底部的白色视图和暗红色视图重合),白色视图将继续移动。 [Code4App.com]

  • 问题内容: 我所看到的和jQuery的。左右滑动的功能/方式如何? 问题答案: 您可以使用jQueryUI中的其他效果来执行此操作: 快速示例:

  • 本文向大家介绍微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码,包括了微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码的使用技巧和注意事项,需要的朋友参考一下  微信小程序 滑动方式 竖向滑动: 横向滑动: 水平滚动 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!