项目里面基本上都有的,首页轮播图。这是一个非常方便的第三方框架Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!
常用的主题类型:不显示指示器和标题(BannerConfig.NOT_INDICATOR),显示圆形指示器(BannerConfig.CIRCLE_INDICATOR),显示数字指示器(BannerConfig.NUM_INDICATOR),显示数字指示器和标题(BannerConfig.NUM_INDICATOR_TITLE)等等。
添加依赖:
dependencies{
compile 'com.youth.banner:banner:1.4.9'
}
添加所需要的权限:
<uses-permission android:name ="android.permission.INTERNET" />
<uses-permission android:name ="android.permission.READ_EXTERNAL_STORAGE" />
XML中添加控件
<com .youth .banner .Banner
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="高度自己设置" />
重写图片加载器
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage (Context context, Object path, ImageView imageView) {
/**
注意:
1.图片加载器由自己选择,这里不限制,只是提供几种使用方法
2.返回的图片路径为Object类型,由于不能确定你到底使用的那种图片加载器,
传输的到的是什么格式,那么这种就使用Object接收和返回,你只需要强转成你传输的类型就行,
切记不要胡乱强转!
*/
eg:
Glide.with(context).load(path).into(imageView);
Picasso.with(context).load(path).into(imageView);
Uri uri = Uri.parse((String) path);
imageView.setImageURI(uri);
}
@Override
public ImageView createImageView (Context context) {
SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context);
return simpleDraweeView;
}
}
Activity中的代码:
@Override
protected void onCreate (Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Banner banner = (Banner) findViewById(R.id.banner);
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
banner.setImageLoader(new GlideImageLoader());
banner.setImages(images);
banner.setBannerAnimation(Transformer.DepthPage);
banner.setBannerTitles(titles);
banner.isAutoPlay(true );
banner.setDelayTime(1500 );
banner.setIndicatorGravity(BannerConfig.CENTER);
banner.start();
}
代码混淆:
# glide 的混淆代码
-keep public class * implements com .bumptech .glide .module .GlideModule
-keep public enum com .bumptech .glide .load .resource .bitmap .ImageHeaderParser $** {
**[] $VALUES;
public *;
}
# banner 的混淆代码
-keep class com .youth .banner .** {
*;
}
项目链接