本文主要是介绍banner实现轮播效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前几天碰到一个项目,有一个轮播图效果,刚刚来公司的小伙子要用viewpager,我很纳闷,banner这么好用的轮播图,他竟然不知道,我来介绍一下banner
banner是一个比viewpager更加便捷的轮播图控件
首先,要导入依赖包
compile 'com.youth.banner:banner:1.4.9' compile 'com.github.bumptech.glide:glide:3.7.0'这里面会有一个图片加载,用到glide
布局很见简单
<com.youth.banner.Banner android:id="@+id/ban" android:layout_width="match_parent" android:layout_height="250dp"> </com.youth.banner.Banner>
然后是数据
banner = (Banner) findViewById(R.id.ban); //放图片地址的集合 list_path = new ArrayList<>(); //放标题的集合 list_title = new ArrayList<>();list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg"); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg"); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg"); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg"); list_title.add("图片111"); list_title.add("图片222"); list_title.add("图片333"); list_title.add("图片444"); 下面就是banner的配置了//设置内置样式,共有六种可以点入方法内逐一体验使用。 banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);//设置图片加载器,图片加载器在下方 banner.setImageLoader(new MyLoader());//设置图片网址或地址的集合 banner.setImages(list_path);//设置轮播的动画效果 /* banner.setBannerAnimation(Transformer.);*/ //设置轮播图的标题集合 banner.setBannerTitles(list_title);//设置轮播间隔时间 banner.setDelayTime(2000);//设置是否为自动轮播,默认是“true”。 banner.isAutoPlay(true);//设置指示器的位置,小圆点,左中右。 banner.setIndicatorGravity(BannerConfig.CENTER)//轮播图的监听 .setOnBannerListener(this)//必须最后调用的方法,启动轮播图。 .start();这里面activity需要实现OnBannerListener接口
这是重写的方法,可以在这里对图片进行操作public void OnBannerClick(int position) {Toast.makeText(MainActivity.this,"你点了第" + position + "张轮播图",Toast.LENGTH_SHORT).show(); }//自定义的图片加载器 private class MyLoader extends ImageLoader {@Override public void displayImage(Context context, Object path, ImageView imageView) {Glide.with(context).load((String) path).into(imageView);} }
这篇关于banner实现轮播效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!