viewpager聯動實現其他view平滑移動效果

2021-07-29 20:41:08 字數 1816 閱讀 3644

核心**
floatview.setx (positionoffset*floatview.getwidth () +tablive.getx () + position *tablive.getwidth ());
達到了viewpager平滑移動,上面浮動線也一起對應移動,**就是這麼簡單。
詳細說明
onpagescrolled 返回的引數
position:即將顯示的位置,趨勢
positionoffset:滑動百分比,滑動距離達到螢幕一般為50%,值在0-1之間
positionoffsetpixels:滑動畫素距離,與裝置螢幕畫素有關

floatview.setx():指定浮動線view的橫座標
tablive:直播、動態、主題是三個等大的view,floatview寬度也一致
思路:
1:floatview移動範圍:直播下面和主題下面,最左邊是直播view的tablive.getx (),最右邊是tablive.getx ()加上3倍的直播view寬度。
2:滑動乙個頁面floatview移動範圍:直播view的寬度。
3:計算從第乙個到第二個:floatview的聯動滑動距離與viewpager的滑動百分比有關,即viewpager滑到中間floatview也要在直播動態中間,移動距離為直播view左邊加上floatview的寬度乘以滑動百分比,positionoffset*floatview.getwidth () + tablive.getx ();
4:其他位置滑動與position有關,加上
position * tablive.getwidth ()即可。

大概就是這麼就完成了。

ViewPager隨著手指聯動,且字型隨之變色

在此次專案中,總結了一下在viewpager fragment的情況下,手指滑動viewpager,使得指標一起聯動,並且字型隨之變色的效果,參考了鴻洋大神的兩篇文章和其他開源 此次做了比較完整的處理,以後如果有需要的話,可以直接拿來用。具體的一些 塊貼上來僅供參考 自定義的scrolltabvie...

ViewPager實現Tab布局

android.support.v4.view.viewpager android id id content android layout width fill parent android layout height 0dp android layout weight 1 android.sup...

ViewPager實現無限迴圈

從乙個方向上一直滑動。麼有滑到盡頭的感覺。詳細是怎麼實現的呢?看以下的思路。此處畫了一幅圖來表達實現無限迴圈的思路,即在資料起始位置前插入最後一項資料。在最後一項資料後插入第一項資料,當滑動到此處時。更新頁面的索引位置就ok了 這種方法用於資料處理,當中medialist是原始資料,newmedia...