1.添加依赖
compile 'com.youth.banner:banner:1.4.9'
2.添加权限
<uses-permission android:name="android.permission.INTERNET" /> //联网权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> //存储权限
3.在布局中添加
<com.youth.banner.Banner android:id="@+id/banner" android:layout_width="wrap_content" android:layout_height="450dp"></com.youth.banner.Banner>
4.在代码中使用
public class BannerActivity extends AppCompatActivity implements OnBannerListener { @InjectView(R.id.banner) Banner banner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_banner); ButterKnife.inject(this); initView(); } private void initView() { //设置图片集合 List<Integer> list_path = new ArrayList<>(); list_path.add(R.drawable.mm2); list_path.add(R.drawable.mm3); list_path.add(R.drawable.mm4); list_path.add(R.drawable.mm6); list_path.add(R.drawable.mm7); list_path.add(R.drawable.mm8); list_path.add(R.drawable.mm10); list_path.add(R.drawable.mm15); //设置标题集合 List<String> list_title = new ArrayList<>(); list_title.add("标题1"); list_title.add("标题2"); list_title.add("标题3"); list_title.add("标题4"); list_title.add("标题5"); list_title.add("标题6"); list_title.add("标题7"); list_title.add("标题8"); /* 六种样式 1.NOT_INDICATOR 不显示指示器和标题 2.NUM_INDICATOR_TITLE 显示数字指示器和标题 3.NUM_INDICATOR 显示数字指示器 4.CIRCLE_INDICATOR 显示圆形指示器 5.CIRCLE_INDICATOR_TITLE 指示器和标题(垂直显示) 6.CIRCLE_INDICATOR_TITLE_INSIDE 指示器和标题(水平显示)*/ //设置样式 banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR); //显示圆形指示器 //设置图片加载器 banner.setImageLoader(new MyLoader()); //设置轮番图图片地址或集合 banner.setImages(list_path); //设置轮番图动画 banner.setBannerAnimation(Transformer.ZoomIn); //设置轮番图标题集合 banner.setBannerTitles(list_title); //设置轮番图间隔时间 banner.setDelayTime(3000); //设置是否为自动轮播,默认是“true”。 banner.isAutoPlay(true); //设置指示器的位置,小点点,左中右。 banner.setIndicatorGravity(BannerConfig.CENTER); //监听时间 banner.setOnBannerListener(this); //最后调用的方法,开启轮番图 banner.start(); } @Override public void OnBannerClick(int position) { Log.i("BannerActivity", "点击了" + position + "图片"); } //图片加载器 public class MyLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { //使用Glide一定要先添加依赖 Glide.with(context).load(path).into(imageView); } } }