利用ViewPager怎么对左滑右滑进行判断

今天就跟大家聊聊有关利用ViewPager怎么对左滑右滑进行判断,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

成都创新互联公司专注于静海企业网站建设,响应式网站,商城网站开发。静海网站建设公司,为静海等地区提供建站服务。全流程按需开发网站,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

做项目的时候,会碰到用viewpager + fragments去实现多页滑动。有些时候需要完成:界面在滑动到一半或是一半以上的时候,需要把title之类的切换到下一个页面。这个时候仅仅依赖Viewpager的接口是不能判断,这里提供一个方法:判断viewpager是左滑还是右滑,同时对滑过一半的时候(这个参数可以调),进行相关操作。

//定义两个变量,这个两个变量是表示滑动时候,positionOffset 是从大到
 //小的变化,还是从小到大的变化。用于在滑动时候,避免多次调用一个方法
 private boolean isSmallToBig = true;
 private boolean isBigToSmall = false;

  //记录上一次滑动的positionOffsetPixels值
  private int lastValue = -1;
  @Override
  public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    if (positionOffset != 0) {
      mCurrentPage = position;
      boolean isLeft = true;
      if (lastValue >= positionOffsetPixels) {
        //右滑
        isLeft = false;
      } else if (lastValue < positionOffsetPixels) {
        //左滑
        isLeft = true;
      }
      setIndiactorView(positionOffset,isLeft);
    }
    lastValue = positionOffsetPixels;

  }

  private void setIndiactorView(float positionOffset,boolean isLeft) {
    
    //设定滑动的边界,这里设置的滑动到一半
    float radiusOffsetHead = 0.5f;
    //如果滑动小于一半,通过isSmallToBig这个变量来避免多次调用
    // initIndicatorView 方法
    if (positionOffset <= radiusOffsetHead && !isSmallToBig) {

      initIndicatorView(mCurrentPage);
      isSmallToBig = true;
      isBigToSmall = false;

    } else if (positionOffset > radiusOffsetHead && !isBigToSmall) {
     //超过一半。如果是左滑,就-1,如果是右滑,就+1
      int currnt = isLeft ? mCurrentPage + 1 : mCurrentPage - 1;
      initIndicatorView(currnt);
      isBigToSmall = true;
      isSmallToBig = false;
    }
  }

看完上述内容,你们对利用ViewPager怎么对左滑右滑进行判断有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


网站标题:利用ViewPager怎么对左滑右滑进行判断
标题链接:http://bzwzjz.com/article/phopoo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 手机网站建设套餐 成都网站设计 成都网站设计 成都网站建设 盐亭网站设计 高端网站设计 成都网站制作 网站制作公司 营销网站建设 手机网站制作设计 成都品牌网站设计 网站建设改版 网站制作报价 网站设计公司 成都网站建设 广安网站设计 宜宾网站设计 重庆电商网站建设 成都营销网站制作 手机网站制作 商城网站建设 网站建设公司