Android中广告轮播框架Banner----(功能很全面

转载地址:https://github.com/youth5201314/bannerhtml

参考视频:http://ke.atguigu.com/course/150git

 

Android图片轮播控件

 

Apache 2.0 License

新框架发布,欢迎你们Star

XFrame - Android快速开发框架github

XFrame详细功能文档预览apache

 

如今的绝大数app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能。由于ViewPager并不支持循环翻页, 因此要实现循环还得须要本身去动手,我就把项目中的控件剔了出来,但愿你们以为有用。目前框架能够进行不一样样式、不一样动画设置, 以及完善的api方法能知足大部分的需求了。api

效果图

模式 图片
指示器模式 效果示例
数字模式 效果示例
数字加标题模式 效果示例
指示器加标题模式
垂直显示
效果示例
指示器加标题模式
水平显示
效果示例

联系方式 

效果示例

  • 若是遇到问题和建议欢迎在给我发送邮件或者加入qq群,但愿让这个工程愈来愈完善。
  • 群满能够加群2:594813900

常量

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

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

ViewPagerTransforms 动画时集成的第三方库,可能有兼容问题致使position位置不许确,你能够选择参考动画而后自定义动画数组

常量类名
Transformer.Default
Transformer.Accordion
Transformer.BackgroundToForeground
Transformer.ForegroundToBackground
Transformer.CubeIn
Transformer.CubeOut
Transformer.DepthPage
Transformer.FlipHorizontal
Transformer.FlipVertical
Transformer.RotateDown
Transformer.RotateUp
Transformer.ScaleInOut
Transformer.Stack
Transformer.Tablet
Transformer.ZoomIn
Transformer.ZoomOut
Transformer.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的自定义动画

Attributes属性(banner布局文件中调用)

Attributes forma describe
delay_time integer 轮播间隔时间,默认2000
scroll_time integer 轮播滑动执行时间,默认800
is_auto_play boolean 是否自动轮播,默认true
title_background color reference
title_textcolor color 标题字体颜色
title_textsize dimension 标题字体大小
title_height dimension 标题栏高度
indicator_width dimension 指示器圆形按钮的宽度
indicator_height dimension 指示器圆形按钮的高度
indicator_margin dimension 指示器之间的间距
indicator_drawable_selected reference 指示器选中效果
indicator_drawable_unselected reference 指示器未选中效果
image_scale_type enum 和imageview的ScaleType做用同样
banner_default_image reference 当banner数据为空是显示的默认图片
banner_layout reference 自定义banner布局文件,可是必须保证id的名称同样(你能够将banner的布局文件复制出来进行修改)

[ 点击查看 ViewPager的PageTransformer用法 ]

使用步骤

Step 1.依赖banner

Gradle网络

 

或者引用本地libapp

 

Step 2.添加权限到你的 AndroidManifest.xml

 

Step 3.在布局文件中添加Banner,能够设置自定义属性

!!!此步骤能够省略,直接在Activity或者Fragment中new Banner();框架

 

Step 4.重写图片加载器

 

Step 5.在Activity或者Fragment中配置Banner

 

Step 6.(可选)增长体验

 

混淆代码

 

[历史版本资源地址]eclipse

[1.3.3之前旧版本使用文档地址]

常见问题

  • 问:eclipse怎么使用banner?

    • 答:在历史版本列表中下载你想要版本的aar包提取最新资源/也能够本身把工程转成eclipse的 
      eclipse的集成demo群文件里有共享!
  • 问:怎么显示的一片空白?

    • 答:
      一、没有添加网络权限
      二、检查图片连接是否能打开。
  • 问:怎么加载其余图片资源(资源文件、文件、Uri、assets、raw、ContentProvider、sd卡资源)?

    • 答:列如!若是你使用的是glide,那么能够以下操做,其余图片图片加载框架可能有不一样
       
  • 问:设置banner指示器颜色怎么变成方的了?

    • 答:首先我先要说不少软件的指示器也是矩形的,而后banner的指示器能够设置color、资源图片、drawable文件夹自定义xml, 因此形状你本身能够根据需求定义哦!
  • 问:为何banner的点击事件没有反应,须要下一次轮播才行?

    • 答:请将点击事件放在start方法以前执行,详情能够看demo。
相关文章
相关标签/搜索