导包
//切圆角
implementation 'androidx.cardview:cardview:1.0.0'
//轮播图
implementation 'io.github.youth5201314:banner:2.2.2'
xml布局
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_50"
app:cardCornerRadius="@dimen/dp_20">
<com.youth.banner.Banner
android:id="@+id/tab1Banner"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_182"
app:banner_loop_time="3000"
app:banner_radius="@dimen/dp_20" />
</androidx.cardview.widget.CardView>
代码
//本地图片id列表
private val banner_data = listOf(R.mipmap.banner_icon_1,R.mipmap.banner_icon_2,R.mipmap.banner_icon_3,R.mipmap.banner_icon_4,R.mipmap.banner_icon_5)
fun InitBanner(){
binding.tab1Banner.setAdapter(object : BannerImageAdapter<Int>(banner_data) {
override fun onBindView(holder: BannerImageHolder, data: Int, position: Int, size: Int) {
holder.imageView.setImageResource(data)
}
})
// 开启循环轮播
binding.tab1Banner.isAutoLoop(true)
binding.tab1Banner.setIndicator(CircleIndicator(requireContext()))
//binding.tab1Banner.setScrollBarFadeDuration(3000)
// 设置指示器颜色
binding.tab1Banner.setIndicatorSelectedColor(resources.getColor(R.color.color_51C2FF))
binding.tab1Banner.setIndicatorNormalColor(resources.getColor(R.color.color_E2E2E2))
// 开始轮播
binding.tab1Banner.start()
}