使用这个库
https://github.com/youth5201314/banner
-
gradle引用
//for slide banner, it requires glide or picasso
//compile 'com.github.bumptech.glide:glide:4.8.0'
compile 'com.squareup.picasso:picasso:2.71828'
compile 'com.youth.banner:banner:1.4.10' //最新版本
- 定义自己的image loader
public class BannerGlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
//Glide 加载图片简单用法
//Glide.with(context).load(path).into(imageView);
//Picasso usage
Picasso.get().load((int)path).fit().centerInside().into(imageView, null);
//用fresco加载图片简单用法,记得要写下面的createImageView方法
//Uri uri = Uri.parse((String) path);
//imageView.setImageURI(uri);
}
@Override
public ImageView createImageView(Context context) {
return super.createImageView(context);
//使用fresco,需要创建它提供的ImageView,当然你也可以用自己自定义的具有图片加载功能的ImageView
//SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context);
//return simpleDraweeView;
}
}
- 定义方法initSlideBanner:
private void initSlideBanner(){
//这里用固定的图片示例
List<Integer> images= new ArrayList<>();
images.add(R.drawable.banner01);
images.add(R.drawable.banner02);
images.add(R.drawable.banner03);
banner.setVisibility(View.VISIBLE);
banner.setDelayTime(3000);
banner.setImageLoader(new BannerGlideImageLoader());
//设置图片集合
banner.setImages(images);
//banner设置方法全部调用完毕时最后调用
banner.start();
}
- 在适当位置调用initSlideBanner,例如onCreate