Ver Fonte

Opt setCurrentItem method.

zhpanvip há 2 anos atrás
pai
commit
09c0a26603

+ 1 - 1
app/src/main/java/com/example/zhpan/banner/fragment/PageFragment.kt

@@ -127,7 +127,7 @@ class PageFragment : BaseFragment() {
       .setPageMargin(resources.getDimensionPixelOffset(dimen.dp_15))
       .setScrollDuration(800)
       .setRevealWidth(leftRevealWidth, rightRevealWidth)
-      .setPageStyle(pageStyle,0.6f)
+      .setPageStyle(pageStyle,0.85f)
       .create(getPicList(4))
   }
 

+ 4 - 4
bannerview/src/main/java/com/zhpan/bannerview/BannerViewPager.java

@@ -988,12 +988,12 @@ public class BannerViewPager<T> extends RelativeLayout implements LifecycleObser
    */
   public void setCurrentItem(int item, boolean smoothScroll) {
     if (isCanLoopSafely()) {
-      int pageSize = mBannerPagerAdapter.getListSize();
-      //item = item >= pageSize ? pageSize - 1 : item;
+      stopLoop();
       int currentItem = mViewPager.getCurrentItem();
-      boolean canLoop = mBannerManager.getBannerOptions().isCanLoop();
-      int realPosition = BannerUtils.getRealPosition(currentItem, pageSize);
+      int realPosition =
+          BannerUtils.getRealPosition(currentItem, mBannerPagerAdapter.getListSize());
       mViewPager.setCurrentItem(currentItem + (item - realPosition), smoothScroll);
+      startLoop();
     } else {
       mViewPager.setCurrentItem(item, smoothScroll);
     }