zhpanvip / BannerViewPager

🚀 An awesome banner view for Android,Based on ViewPager2. 这可能是全网最好用的ViewPager轮播图。简单、高效,一行代码实现循环轮播,一屏三页任意变,指示器样式任你挑。
Apache License 2.0
3.54k stars 434 forks source link

在onresume时回调的生命周期没有判定,造成暂停的轮播图没法恢复滚动 #329

Open MoYuFly opened 6 months ago

MoYuFly commented 6 months ago

在onresume时,回调生命周期:Lifecycle.State.STARTED,所以下面的判定会造成轮播图无法恢复滚动,这个问题出现的时机是当轮播图已经加载了,切换到别的页面时暂停这个轮播图,再回来这个页面无法恢复滚动。这个轮播图是用在recycleview列表的,第二段代码是轮播图的实现代码。 现在是暂停后,需要我自己在onresume时调用startLoopNow方法才能恢复播放,因为这个方法没有进行判定生命周期。 /**

第二段代码 holder.bannerView .registerLifecycleObserver(lifecycle) .setIndicatorHeight(AutoSizeUtils.pt2px(context, 4f)) .setCanLoop(!isStopLoops) .setIndicatorSliderWidth(tipWidth) .setIndicatorStyle(IndicatorStyle.ROUND_RECT) .setIndicatorMargin(0, 0, 0, AutoSizeUtils.pt2px(context, 12f)) .stopLoopWhenDetachedFromWindow(false) .setIndicatorSliderColor(Color.parseColor("#80FFFFFF"), Color.parseColor("#FFFFFF")) .setAdapter(MainItemBannerTestAdapter(context)).create(lists[position].banner)