您的位置:首页 > 移动开发 > Android开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息