Android广告图片轮播控件,支持无限循环和5种主题,可以灵活设置轮播样式、时间、位置、图片加载框架等!
2016-07-29 11:15
1071 查看
传送门(最新版本请跳转到github查看)
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="高度自己设置" />
深度自定义
!!!! 有些属性和方法有重复的地方,完全是为了考虑不同人的习惯
<com.youth.banner.Banner xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/banner" android:layout_width="match_parent" 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); }
4000
相关文章推荐
- Android App开发中ViewPager组件的入门使用教程
- 基于bootstrap实现广告轮播带图片和文字效果
- 用JS实现轮播图效果(二)
- 简单实现轮播图效果的实例
- JQuery悬停控制图片轮播――代码简单
- jquery实现简单的banner轮播效果【实例】
- 使用ViewPager实现高仿launcher左右拖动效果
- JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
- Android App中用Handler实现ViewPager页面的自动切换
- Android应用中使用ViewPager实现类似QQ的界面切换效果
- Android中ViewPager组件的基本用法及实现图片切换的示例
- 灵活使用Android中ActionBar和ViewPager切换页面
- Android实现千变万化的ViewPager切换动画
- 基于JavaScript实现轮播图代码
- 完美实现八种js焦点轮播图(下篇)
- Android中viewPager使用指南
- Android 使用 ViewPager循环广告位的实现
- Android中ViewPager实现滑动指示条及与Fragment的配合
- 详解Android App中ViewPager使用PagerAdapter的方法
- Android viewpager中动态添加view并实现伪无限循环的方法