全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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左右滑动  # ViewPager判断是向左划还是右划的实例  # jquery实现上下左右滑动的方法  # jQuery控制的不同方向的滑动(向左、向右滑动等)  # Android使用ViewPager实现无限滑动效果  # 如何在Android中实现左右滑动的指引效果  # 给大家  # 是从  # 希望能  # 这个时候  # 这篇  # 提供一个  # 小编  # 从小到大  # 大到  # 大家多多  # 滑过  # 切换到  # 多页  # positionOffset  # true  # isBigToSmall  # isSmallToBig  # private  # boolean  # java 


相关文章: SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  ,怎么在广州志愿者网站注册?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  如何用PHP快速搭建高效网站?分步指南  如何正确选择百度移动适配建站域名?  ,sp开头的版面叫什么?  制作旅游网站html,怎样注册旅游网站?  专业公司网站制作公司,用什么语言做企业网站比较好?  javascript中的try catch异常捕获机制用法分析  如何挑选高效建站主机与优质域名?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  英语简历制作免费网站推荐,如何将简历翻译成英文?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  小程序网站制作需要准备什么资料,如何制作小程序?  如何在香港服务器上快速搭建免备案网站?  如何快速搭建响应式可视化网站?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  建站主机CVM配置优化、SEO策略与性能提升指南  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  开封网站制作公司,网络用语开封是什么意思?  网站制作公司,橙子建站是合法的吗?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  XML的“混合内容”是什么 怎么用DTD或XSD定义  模具网站制作流程,如何找模具客户?  网站制作网站,深圳做网站哪家比较好?  如何挑选优质建站一级代理提升网站排名?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  建站ABC备案流程中有哪些关键注意事项?  TestNG的testng.xml配置文件怎么写  如何做网站制作流程,*游戏网站怎么搭建?  如何在阿里云域名上完成建站全流程?  建站之星代理如何获取技术支持?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  已有域名如何快速搭建专属网站?  常州企业建站如何选择最佳模板?  湖北网站制作公司有哪些,湖北清能集团官网?  安徽网站建设与外贸建站服务专业定制方案  如何零基础在云服务器搭建WordPress站点?  网站制作模板下载什么软件,ppt模板免费下载网站?  如何在宝塔面板中创建新站点?  如何在腾讯云服务器快速搭建个人网站?  如何快速生成ASP一键建站模板并优化安全性?  如何在万网ECS上快速搭建专属网站?  制作电商网页,电商供应链怎么做?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  建站主机SSH密钥生成步骤及常见问题解答?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何通过cPanel快速搭建网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。