Closed alexykuan closed 4 years ago
使用外部指示器,在布局文件中使用,然后关联就行了,因为你是居左,所以指示器会被吃掉。居中你可以这么用,你在布局文件中单独使用,位置你可以随意放
按照大佬说的方法,我试了下会崩掉,并且爆出Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
,下面是我的布局代码
<com.youth.banner.Banner
android:id="@+id/banner_home_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never"
app:layout_collapseMode="parallax" />
<com.youth.banner.indicator.CircleIndicator
android:id="@+id/ci_banner_indicator"
android:layout_marginBottom="20dp"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="bottom" />
设置indicator代码
ci_banner_indicator.indicatorConfig.selectedColor = R.color.primary
ci_banner_indicator.indicatorConfig.normalColor = R.color.color_white
ci_banner_indicator.indicatorConfig.setIndicatorSpace(BannerUtils.dp2px(10f).toInt())
ci_banner_indicator.indicatorConfig.margins = IndicatorConfig.Margins(BannerUtils.dp2px(10f).toInt())
ci_banner_indicator.indicatorConfig.setSelectedWidth(20)
ci_banner_indicator.indicatorConfig.setNormalWidth(10)
然后是设置adapter代码
homeVM.banners.observe(
viewLifecycleOwner,
Observer {
bannerAdapter = HomeBannerAdapter(view.context, it)
banner_home_fragment.adapter = bannerAdapter
banner_home_fragment.indicator = ci_banner_indicator
banner_home_fragment.start()
}
)
banner.setIndicator(indicator, false); 可以看看demo
问题解决了,感谢大佬
怎么解决?
@WDevaloper 检查自己的代码,看作者回复
库版本2.0.7 测试手机:小米6 android10 麻烦大佬抽空看看 代码: banner_home_fragment.indicator = CircleIndicator(context) banner_home_fragment.setIndicatorSelectedColorRes(R.color.primary) banner_home_fragment.setIndicatorNormalColorRes(R.color.color_white) banner_home_fragment.setIndicatorGravity(IndicatorConfig.Direction.LEFT) banner_home_fragment.setIndicatorSpace(BannerUtils.dp2px(10f).toInt()) banner_home_fragment.setIndicatorMargins(IndicatorConfig.Margins(BannerUtils.dp2px(10f).toInt())) banner_home_fragment.setIndicatorWidth(10, 20) banner_home_fragment.setBannerGalleryEffect(60, 8, 0.86f) banner_home_fragment.addOnPageChangeListener(this) banner_home_fragment.start()