文档章节

Android广告图片轮播控件

youth5201314
 youth5201314
发布于 2016/07/29 10:28
字数 748
阅读 117
收藏 1

Android图片轮播控件 (如果对你有帮助请star哦!)


传送门

https://github.com/youth5201314/banner

现在的绝大数app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能。因为ViewPager并不支持循环翻页, 所以要实现循环还得需要自己去动手,所以其他的轮播控件大多都是重写viewpager,而且代码很臃肿。 我就把项目中的控件剔了出来,希望大家觉得有用。

效果图

模式图片
指示器模式效果示例
数字模式效果示例
数字加标题模式效果示例
指示器加标题模式效果示例

##Gradle

dependencies{
    compile 'com.youth.banner:banner:1.1.6'  //指定版本
    compile 'com.youth.banner:banner:+' //最新版本
}

或者引用本地lib

compile project(':banner')

常量

方法名描述
BannerConfig.NOT_INDICATOR不显示指示器和标题
BannerConfig.CIRCLE_INDICATOR显示圆形指示器
BannerConfig.NUM_INDICATOR显示数字指示器
BannerConfig.NUM_INDICATOR_TITLE显示数字指示器和标题
BannerConfig.CIRCLE_INDICATOR_TITLE显示圆形指示器和标题
BannerConfig.LEFT指示器居左
BannerConfig.CENTER指示器居中
BannerConfig.RIGHT指示器居右

##方法 |方法名|描述 |---|---| |setBannerStyle(int bannerStyle)| 设置轮播样式(默认为Banner.NOT_INDICATOR) |setIndicatorGravity(int type)| 设置指示器位置(没有标题默认为右边,有标题时默认左边) |isAutoPlay(boolean isAutoPlay)| 设置是否自动轮播(默认自动) |setBannerTitle(String[] titles)| 设置轮播要显示的标题和图片对应(如果不传默认不显示标题) |setDelayTime(int time)| 设置轮播图片间隔时间(默认为2000) |setImages(Object[]/List<?> imagesUrl)| 设置轮播图片(所有设置参数方法都放在此方法之前执行) |setImages(Object[]/List<?> imagesUrl,OnLoadImageListener listener)| 设置轮播图片,并且自定义图片加载方式 |setOnBannerClickListener(this)|设置点击事件,下标是从1开始 |setOnBannerImageListener(this)|设置图片加载事件,可以自定义图片加载方式

##使用步骤 * 更多用法请下载demo

1.在布局文件中添加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="高度自己设置" />
  • 深度自定义,xml扩展属性
  • !!!! 有些属性和方法有重复的地方,完全是为了考虑不同人的习惯
<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="高度自己设置"
    app:default_image="默认加载图片"
    app:delay_time="轮播间隔时间"
    app:is_auto_play="是否自动轮播"
    app:indicator_margin="指示器之间的间距"
    app:indicator_drawable_selected="指示器选中效果"
    app:indicator_drawable_unselected="指示器未选中效果"
    app:indicator_height="指示器圆形按钮的高度"
    app:indicator_width="指示器圆形按钮的宽度" />

2.在Activity或者Fragment中配置Banner

private Banner banner;
String[] images= new String[] {"url"};
String[] titles=new String[]{"标题"};
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    banner = (Banner) findViewById(R.id.banner);
    //一步搞定,设置图片就行了
    banner.setImages(images);
 
}

© 著作权归作者所有

共有 人打赏支持
youth5201314
粉丝 0
博文 1
码字总数 748
作品 0
成都
技术主管
Android中广告轮播框架Banner----(功能很全面

转载地址:https://github.com/youth5201314/banner 参考视频:http://ke.atguigu.com/course/150 Android图片轮播控件 新框架发布,欢迎大家Star XFrame - Android快速开发框架 XFrame详细功...

丁佳辉
08/02
0
0
自定义广告图片轮播View——CarouselView

  因为一个广告机的需求,需要做一个广告轮播的效果,不需要什么特别的动画,正常的轮播就可以了。笔者看了网上很多文章,要么不好用,要么就是效果太多,太复杂,用不上。索性自己写了一个...

饮水思源为名
08/08
0
0
自定义控件和试图(原生api)viewPager图片轮播广告

使用android提供的api来做出去自己想要的控件显示效果。基于原生api是最低级的自定义控件和试图 android的v4包自带的控件 android.support.v4.view.ViewPager 几个滚动原点是放在LinearLayou...

chenruibing
2015/05/29
0
0
巧妙运用补间动画,自定义广告轮播CarouselView 2.0

  这是前一篇文章绘制的CarouselView的升级版,有兴趣的同学,可以去关注一下笔者前一篇文章。自定义广告图片轮播View——CarouselView 这次升级版相对于前文而已,有了一个功能上的飞跃主...

饮水思源为名
08/13
0
0
Animation-list实现逐帧动画

我们经常有些需求需要用到轮播的逐帧动画,可以用线程实现,当然android系统为我们提供了更简约简单的实现手段——Animation-list。 首先下面是一段XML,你可以新建一个XML存放在项目的res/d...

兜来兜去
2013/04/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

人生苦短:Python里的17个“超赞操作

人生苦短,我选Python”。那么,你真的掌握了Python吗? 1. 交换变量 有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。比如: # 输入 a = 5 b ...

糖宝lsh
41分钟前
4
0
咕泡-spring中常用设计模式概述

设计模式就是经验之谈,供后人借鉴,解决一些具有代表性的问题 设计模式来源于生活,反过来帮助我们更好生活 设计模式提升代码的可读性、可扩展性、维护成本、复杂业务问题 千万不要死记硬背...

职业搬砖20年
今天
2
0
day59-20180817-流利阅读笔记-待学习

假·照骗,真·社交焦虑 雪梨 2018-08-17 1.今日导读 发朋友圈之前,不少人为了展现更美好的生活状态会对照片加以“微调”,或是加个滤镜显得逼格更高,或是磨个皮瘦个脸拉个大长腿。现在,国...

aibinxiao
今天
19
0
OSChina 周五乱弹 —— 姑娘在这个节日里表白你接受么?

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @Sharon啊:完全被这个小姐姐圈粉了,学两首她的歌去哈哈 分享王贰浪的单曲《往后余生(翻自 马良)》 《往后余生(翻自 马良)》- 王贰浪 手...

小小编辑
今天
949
16
为什么HashMap要自己实现writeObject和readObject方法?

为什么HashMap要自己实现writeObject和readObject方法? 如果你有仔细阅读过HashMap的源码,那么你一定注意过一个问题:HashMap中有两个私有方法。 private void writeObject(java.io.Objec...

DemonsI
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部