效果图
导入依赖
implementation 'com.youth.banner:banner:1.4.10' //轮播图
布局
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginStart="15dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="15dp"
android:layout_marginRight="15dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
逻辑代码
Banner banner = getActivity().findViewById(R.id.banner);
private void bannerView1(){
List<Integer> images = new ArrayList<>();
images.add(R.drawable.a);
images.add(R.drawable.b);
images.add(R.drawable.c);
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);
banner.setBannerAnimation(Transformer.DepthPage);
banner.setImageLoader(new HeadFragment.GlideImageLoader());
banner.setImages(images);
banner.isAutoPlay(true);
banner.setDelayTime(2000);
banner.setIndicatorGravity(BannerConfig.CENTER);
banner.start();
}
private void bannerView2(){
list_path = new ArrayList<>();
list_title = new ArrayList<>();
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg");
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg");
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg");
list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg");
list_title.add("好好学习");
list_title.add("天天向上");
list_title.add("热爱劳动");
list_title.add("不搞对象");
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
banner.setImageLoader(new MyLoader());
banner.setImages(list_path);
banner.setBannerAnimation(Transformer.Default);
banner.setBannerTitles(list_title);
banner.setDelayTime(3000);
banner.isAutoPlay(true);
banner.setIndicatorGravity(BannerConfig.CENTER)
.setOnBannerListener(this)
.start();
}
@Override
public void OnBannerClick(int position) {
Log.i("tag", "你点了第"+position+"张轮播图");
}
private class MyLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load((String) path).into(imageView);
imageView.setImageResource((Integer) path);
}
@Override
public ImageView createImageView(Context context) {
RoundImageView img = new RoundImageView(context);
return img;
}
}