步骤:
1、初始化数据,得到图片地址和标题(标题也可以不要)
2、设置banner属性
3、布局添加banner控件
4、代码实现
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="match_parent"
android:layout_height="150dp" />
4)代码:
public class Test extends AppCompatActivity implements OnBannerListener { private Banner mBanner; private ArrayList<String> imagePathList; private ArrayList<String> titleList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); initView(); } /** * 初始化banner,设置属性 */ private void initView() { mBanner = (Banner) findViewById(R.id.banner); //设置内置样式,共有六种可以点入方法内逐一体验使用。 mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE); //设置图片加载器,图片加载器在下方 mBanner.setImageLoader(new MyImageLoader()); //设置图片网址或地址的集合 mBanner.setImages(imagePathList); //设置轮播的动画效果,内含多种特效,可点入方法内查找后内逐一体验 mBanner.setBannerAnimation(Transformer.Default); //设置轮播图的标题集合 mBanner.setBannerTitles(titleList); //设置轮播间隔时间 mBanner.setDelayTime(3000); //设置是否为自动轮播,默认是“是”。 mBanner.isAutoPlay(true); //设置指示器的位置,小点点,左中右。 mBanner.setIndicatorGravity(BannerConfig.CENTER) //以上内容都可写成链式布局,这是轮播图的监听。比较重要。方法在下面。 .setOnBannerListener(this) //必须最后调用的方法,启动轮播图。 .start(); } private void initData() { imagePathList = new ArrayList<>(); titleList = new ArrayList<>(); imagePathList.add(""); //第一张图片 imagePathList.add(""); //第二张图片地址 imagePathList.add(""); imagePathList.add(""); titleList.add("1"); titleList.add("2"); titleList.add("3"); titleList.add("4"); } @Override public void OnBannerClick(int position) { Toast.makeText(this, "click:" + position, Toast.LENGTH_SHORT).show(); } //自定义的图片加载器 private class MyImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load((String) path).into(imageView); } } }