Viewpager无限循环(首页与尾页平滑过渡)
生活随笔
收集整理的這篇文章主要介紹了
Viewpager无限循环(首页与尾页平滑过渡)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#Viewpager無限循環(首頁與尾頁平滑過渡)
##double kill 在網上找了不少的viewpager無限輪播的例子,大部分都是Interger.MAX_VALUES。 滑到最后一頁的時候setCurrentItem(0),這樣雖然實現了無限輪播,但是當從最后一頁跳轉到第一頁的時候不夠優雅。。通過google終于找到了答案:
將你的圖片的list的前后各增加一張圖片,并將最后一張圖片放至圖片的第一張,第一張圖片 放至圖片的最后一張,例如:** List {ABCD} 改為{DABCDA}**這樣滑到最后一張圖片的時候會顯示一張圖片而不是突兀的跳過中間的幾張圖片。然后初始化viewpager的時候讓他從第一張圖片開始輪播:setCurrentItem(1)
核心代碼:
public void onPageScrolled(int i, float v, int i1) { if (v == 0.0){ if (i == 0){ //當滑到第一張圖時顯示最后一張圖并將postion跳至"D"位置 vp.setCurrentItem(mImageViews.length-2,false);}//當滑到最后一張圖時顯示第一張圖并將position跳至"A"位置else if (i == mImageViews.length-1){ vp.setCurrentItem(1,false); } } } 復制代碼##至此就實現了無限輪播。 附上輪播代碼:
Timer timer = new Timer();timer.schedule(new TimerTask(){ public void run() { currentItem++; //當currentItem等于圖片大小的時候記得將 currentItem重置為1 if (currentItem== mImageViews.length) {currentItem= 1; } mHandler.sendEmptyMessage(REFRESH_VP_CODE); }}, 3000, 3000); 復制代碼轉載于:https://juejin.im/post/5a3396d26fb9a0450168044d
總結
以上是生活随笔為你收集整理的Viewpager无限循环(首页与尾页平滑过渡)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vba xml 怎么设置父节点_熊二做了
- 下一篇: 用导入导出模板生成系统标准功能单据--销