日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

ViewPager 滑动一半的判断方法以及左滑右滑判断

發(fā)布時間:2023/12/19 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 ViewPager 滑动一半的判断方法以及左滑右滑判断 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

做項目的時候,會碰到用viewpager + fragments去實現(xiàn)多頁滑動。有些時候需要完成:界面在滑動到一半或是一半以上的時候,需要把title之類的切換到下一個頁面。這個時候僅僅依賴Viewpager的接口是不能判斷,這里提供一個方法:判斷viewpager是左滑還是右滑,同時對滑過一半的時候(這個參數(shù)可以調(diào)),進行相關操作。

  //定義兩個變量,這個兩個變量是表示滑動時候,positionOffset 是從大到
  //小的變化,還是從小到大的變化。用于在滑動時候,避免多次調(diào)用一個方法
  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這個變量來避免多次調(diào)用
       // 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 滑动一半的判断方法以及左滑右滑判断的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。