Closed morefreeliang closed 4 years ago
我设置自动轮播,设置如上所说的两个方法都不起作用。
然后我在布局中加入属性:app:is_infinite_loop="false"
然后就起作用了。
为了满足我要自动轮播,但是起始位置可配置:
我先设置不能自动轮播,然后显示banner后延时1s开启自动轮播,
但是这样ui效果有一个问题,就是滑到最后一张,再到第一张的时候,你会看到滑过所有的banner。
希望知道的指教下,谢谢
我测试没有问题啊!你要是不禁止无线循环不用设置app:is_infinite_loop的。我不知道你具体怎么用的,不过你可以运行demo,把握注释的打开运行下就知道了。我运行没有问题!
banner.setAdapter(adapter)//设置适配器 .setCurrentItem(3,false)//设置切换到指定位置 .addBannerLifecycleObserver(this)//添加生命周期观察者 .setIndicator(new CircleIndicator(this));//设置指示器
首先感谢你有时间回复我的问题,
我的原始代码是这样的:
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="220dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
val bannerAdapter = ImageAdapter(images)
banner.addBannerLifecycleObserver(requireActivity())
.setIndicator(indicator, false)
.setDelayTime(5000)
banner.currentItem = currentIndex
banner.adapter = bannerAdapter
banner.setIndicatorNormalColor(Color.parseColor("#D8D8D8"))
banner.setIndicatorSelectedColor(Color.parseColor("#ff6687"))
这样比如我想设置开始播放在第2张,不起作用。
后来根据你的回复,我把代码改成这样,可以了:
val bannerAdapter = ImageAdapter(images)
banner.adapter = bannerAdapter
banner.setCurrentItem(currentIndex+1, false)
banner.addBannerLifecycleObserver(requireActivity())
banner.setIndicator(indicator, false)
banner.setDelayTime(5000)
banner.setIndicatorNormalColor(Color.parseColor("#D8D8D8"))
banner.setIndicatorSelectedColor(Color.parseColor("#ff6687"))
还有就是currentItem不是从第0开始的,是从1开始的是吗?
thanks for all
如题,谢谢