您的位置:首页 > 其它

banner实现轮播效果

2017-10-13 18:39 176 查看
前几天碰到一个项目,有一个轮播图效果,刚刚来公司的小伙子要用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(i
4000
nt 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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: