private boolean isAutoPlay = false;
private long currentTime;
@Override
public void onPageScrollStateChanged(int state) {
ViewPagerS#CROLL_STATE_IDLE
* @see ViewPager#SCROLL_STATE_DRAGGING
* @see ViewPager#SCROLL_STATE_SETTLING
switch (state) {
case ViewPager.SCROLL_STATE_DRAGGING://手势滑动空闲中
LogUtils.e("手势滑动空闲中");
isAutoPlay = false;
break;
case ViewPager.SCROLL_STATE_IDLE://滑动结束
mBannerViewPager.getParent().requestDisallowInterceptTouchEvent(true);
LogUtils.e("滑动结束");
if (mBannerViewPager.getCurrentItem() == mBannerViewPager.getAdapter().getCount() - 1 && !isAutoPlay) {
LogUtils.e("切换");
mBannerViewPager.setCurrentItem(0, false);
mBannerPagerAdapter.notifyDataSetChanged();
LogUtils.e("当前条目滑动到集合的最后索引:"+mBannerViewPager.getCurrentItem());
} else if (mBannerViewPager.getCurrentItem() == 0 && !isAutoPlay) {
mBannerViewPager.setCurrentItem(mBannerViewPager.getAdapter().getCount() - 1, false);
mBannerPagerAdapter.notifyDataSetChanged();
LogUtils.e("当前条目:"+mBannerViewPager.getCurrentItem());
}
mBannerPagerAdapter.notifyDataSetChanged();
// mBannerViewPager.getAdapter().notifyDataSetChanged();
LogUtils.e("时间:"+(System.currentTimeMillis() - currentTime));
// if (System.currentTimeMillis() - currentTime >1000) {
// mHandler.sendEmptyMessageDelayed(BANNERWHAT, BANNERTIME);
// }
break;
case ViewPager.SCROLL_STATE_SETTLING://界面切换
LogUtils.e("界面切换");
if (mHandler.hasMessages(BANNERWHAT)) {
mHandler.removeMessages(BANNERWHAT);
}
currentTime = System.currentTimeMillis();
isAutoPlay = true;
break;
}
viewpager不返回最大值实现轮播
最新推荐文章于 2020-07-27 21:59:58 发布