Step 1: 依赖
//Banner implementation 'com.youth.banner:banner:1.4.10' implementation 'com.github.bumptech.glide:glide:4.10.0' implementation 'com.squareup.picasso:picasso:2.71828' implementation 'com.facebook.fresco:fresco:0.12.0'
Step 2 : 添加权限到你的 AndroidManifest.xml
<!-- if you want to load images from the internet -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- if you want to load images from a file OR from the internet -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Step 3: 在布局文件中添加Banner,可以设置自定义属性
<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="wrap_content"
tools:ignore="MissingConstraints" />
Step 4: 重写图片加载器
public class GlideImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { //Glide 加载图片简单用法 Glide.with(context).load(path).into(imageView); } }
Step 5: 在Activity 或 Fragment 中使用Banner
public class FinanceFragment extends com.lzw.wsbank.base.BaseFragment { Banner banner; List images = new ArrayList<>(); List titles = new ArrayList<>(); @Override public View initView() { View view = View.inflate(mContext, R.layout.fragment_finance, null); banner = (Banner) view.findViewById(R.id.banner); //添加图片资源 images.add("http://img.lanrentuku.com/img/allimg/0906/8_220800_1.jpg"); images.add("http://img.lanrentuku.com/img/allimg/1506/14332974643135.jpg"); images.add("http://img.lanrentuku.com/img/allimg/1506/14343524956456.jpg"); titles.add("图片——1"); titles.add("图片——2"); titles.add("图片——3"); getBanner_2(); } /** * 详细使用 */ private void getBanner_2() { //设置banner样式 banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE); //设置图片加载器 banner.setImageLoader(new GlideImageLoader()); //设置图片集合 banner.setImages(images); //设置banner动画效果 banner.setBannerAnimation(Transformer.DepthPage); //设置标题集合(当banner样式有显示title时) banner.setBannerTitles(titles); //设置自动轮播,默认为true banner.isAutoPlay(true); //设置轮播时间 banner.setDelayTime(1500); //设置指示器位置(当banner模式中有指示器时) banner.setIndicatorGravity(BannerConfig.CENTER); //banner设置方法全部调用完毕时最后调用 banner.start(); } }