Banner实现图片轮播

来源:互联网 发布:昆山入学积分怎么算法 编辑:程序博客网 时间:2024/06/06 00:13

开源框架Banner实现图片轮播

常量

常量名称描述所属方法BannerConfig.NOT_INDICATOR不显示指示器和标题setBannerStyleBannerConfig.CIRCLE_INDICATOR显示圆形指示器setBannerStyleBannerConfig.NUM_INDICATOR显示数字指示器setBannerStyleBannerConfig.NUM_INDICATOR_TITLE显示数字指示器和标题setBannerStyleBannerConfig.CIRCLE_INDICATOR_TITLE显示圆形指示器和标题(垂直显示)setBannerStyleBannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE显示圆形指示器和标题(水平显示)setBannerStyleBannerConfig.LEFT指示器居左setIndicatorGravityBannerConfig.CENTER指示器居中setIndicatorGravityBannerConfig.RIGHT指示器居右setIndicatorGravity

动画常量类(setBannerAnimation方法调用)

常量类名Transformer.DefaultTransformer.AccordionTransformer.BackgroundToForegroundTransformer.ForegroundToBackgroundTransformer.CubeInTransformer.CubeOutTransformer.DepthPageTransformer.FlipHorizontalTransformer.FlipVerticalTransformer.RotateDownTransformer.RotateUpTransformer.ScaleInOutTransformer.StackTransformer.TabletTransformer.ZoomInTransformer.ZoomOutTransformer.ZoomOutSlide

方法

方法名描述版本限制setBannerStyle(int bannerStyle)设置轮播样式(默认为CIRCLE_INDICATOR)无setIndicatorGravity(int type)设置指示器位置(没有标题默认为右边,有标题时默认左边)无isAutoPlay(boolean isAutoPlay)设置是否自动轮播(默认自动)无setViewPagerIsScroll(boolean isScroll)设置是否允许手动滑动轮播图(默认true)1.4.5开始update(List<?> imageUrls,List titles)更新图片和标题1.4.5开始update(List<?> imageUrls)更新图片1.4.5开始startAutoPlay()开始轮播1.4开始,此方法只作用于banner加载完毕-->需要在start()后执行stopAutoPlay()结束轮播1.4开始,此方法只作用于banner加载完毕-->需要在start()后执行start()开始进行banner渲染1.4开始setOffscreenPageLimit(int limit)同viewpager的方法作用一样1.4.2开始setBannerTitle(String[] titles)设置轮播要显示的标题和图片对应(如果不传默认不显示标题)1.3.3结束setBannerTitleList(List titles)设置轮播要显示的标题和图片对应(如果不传默认不显示标题)1.3.3结束setBannerTitles(List titles)设置轮播要显示的标题和图片对应(如果不传默认不显示标题)1.4开始setDelayTime(int time)设置轮播图片间隔时间(单位毫秒,默认为2000)无setImages(Object[]/List<?> imagesUrl)设置轮播图片(所有设置参数方法都放在此方法之前执行)1.4后去掉数组传参setImages(Object[]/List<?> imagesUrl,OnLoadImageListener listener)设置轮播图片,并且自定义图片加载方式1.3.3结束setOnBannerClickListener(this)设置点击事件,下标是从1开始无(1.4.9以后废弃了)setOnBannerListener(this)设置点击事件,下标是从0开始1.4.9以后setOnLoadImageListener(this)设置图片加载事件,可以自定义图片加载方式1.3.3结束setImageLoader(Object implements ImageLoader)设置图片加载器1.4开始setOnPageChangeListener(this)设置viewpager的滑动监听无setBannerAnimation(Class<? extends PageTransformer> transformer)设置viewpager的默认动画,传值见动画表无setPageTransformer(boolean reverseDrawingOrder, ViewPager.PageTransformer transformer)设置viewpager的自定义动画 1.添加依赖库

compile 'com.youth.banner:banner:1.4.9'
2.在清单文件中加权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>//读取外置存储卡权限 <uses-permission android:name="android.permission.INTERNET" />//获取网络权限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="高度自定义" />
4.给图片集合添加数据和实例化

banner = (Banner) findViewById(R.id.banner);list=new ArrayList<>();listtu=new ArrayList<>();list.add("http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");list.add("http://a3.att.hudong.com/72/76/01300000012339118647690465772.jpg");list.add("http://p1.qqyou.com/pic/uploadpic/2012-4/21/2012042120062170120.jpg");listtu.add("啦啦啦");listtu.add("啦啦啦德玛");listtu.add("啦啦啦西亚");
5.设置Banner 属性

banner.setIndicatorGravity(BannerConfig.CIRCLE_INDICATOR);
//设置指示器位置(当banner模式中有指示器时)
 banner.setBannerTitles(listtu);
//添加标题
 banner.setImageLoader(new GlideImageLoader());
//设置图片加载器
 banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
 //设置banner样式
 banner.setImages(list);
//设置图片集合
 banner.isAutoPlay(true);
 //设置自动轮播,默认为true
banner.setDelayTime(2500);
 //设置轮播时间单位毫秒
banner.start();
//调用
6.图片加载器重写

          注意:          1.图片加载器由自己选择,这里不限制,只是提供几种使用方法          2.返回的图片路径为Object类型,由于不能确定你到底使用的那种图片加载器,          传输的到的是什么格式,那么这种就使用Object接收和返回,你只需要强转成你传输的类型就行,          切记不要胡乱强转!       
 public void displayImage(Context context, Object path, ImageView imageView) {        //集合是String类型所以转成String         Glide.with(context).load( (String) path).into(imageView);    }}

最后大神链接:

https://github.com/youth5201314/banner


0 0