XBanner
支持图片无限轮播的控件,可进行自定义功能。主要功能:支持根据服务端返回的数据动态设置广告条的总页数
支持大于等于1页时的无限循环自动轮播、手指按下暂停轮播、抬起手指开始轮播
支持自定义状态指示点位置 左 、中 、右
支持自定义状态指示点
支持监听 item 点击事件
支持设置图片轮播间隔
支持指示器背景的修改及隐藏/显示
支持显示提示性文字功能
支持图片切换动画,目前支持10种切换动画,具体可看demo
支持设置图片切换速度
支持设置数字指示器
支持Glide/Fresco等主流图片加载框架加载图片效果图
dema.gif (584.28 KB, 下载次数: 8)
2016-12-10 14:10 上传
下载方式:1.便捷下载zip包:
XBanner-master.rar
(69.02 KB, 下载次数: 339)
2016-12-10 14:11 上传
点击文件名下载附件
2.github地址回帖下载:游客,如果您要查看本帖隐藏内容请回复
3.免回复跳转github下载:请点击此处下载
请先注册会员后在进行下载
已注册会员,请先登录后下载
文件名称:XBanner支持图片无限轮播的控件,可进行自定义功能
下载次数:0 查看状态:您未购买 售价:5 秀币 [充值秀币]
下载权限: 新手上路以上或 [VIP会员] [购买VIP] [会员等级] [免费领秀币]
基本使用
1.添加Gradle依赖
[Java] 纯文本查看 复制代码dependencies {
compile 'com.xhb:xbanner:latestVersion'//将latestVersion替换成上面最新的版本号
compile 'com.nineoldandroids:library:2.4.0'
}2.在清单文件中添加网络权限
[XML] 纯文本查看 复制代码3.在布局文件中添加XBanner[XML] 纯文本查看 复制代码
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/banner_1"
android:layout_width="match_parent"
android:layout_height="180dp"
app:pointsPosition="CENTER"
app:AutoPlayTime="3000"
app:pointsContainerBackground="#44aaaaaa"
app:pointNormal="@drawable/shape_noraml"
app:pointSelect="@drawable/shape_selected"
app:pointsPosition="RIGHT"
app:tipTextSize="12sp"
app:isShowNumberIndicator="true"
app:isShowIndicatorOnlyOne="true"
app:pageChangeDuration="800"/>
4.在Activity或者Fragment中配置初始化:直接传入视图集合进行初始化
[Java] 纯文本查看 复制代码List imgesUrl = new ArrayList<>();
imgesUrl.add("http://img3.fengniao.com/forum/attachpics/913/114/36502745.jpg");
imgesUrl.add("http://imageprocess.yitos.net/images/public/20160910/99381473502384338.jpg");
imgesUrl.add("http://imageprocess.yitos.net/images/public/20160910/77991473496077677.jpg");
imgesUrl.add("http://imageprocess.yitos.net/images/public/20160906/1291473163104906.jpg");
//添加广告数据
mBannerNet.setData(imgesUrl,null);//第二个参数为提示文字资源集合5.加载广告可根据自己项目需要使用相应的图片加载工具进行加载图片,此处使用Glide,进行加载,可配置占位图等
[Java] 纯文本查看 复制代码mBannerNet.setmAdapter(this);
@Override
public void loadBanner(XBanner banner, View view, int position) {
Glide.with(this).load(imgesUrl.get(position)).into((ImageView) view);
}6.监听广告 item 的单击事件[Java] 纯文本查看 复制代码mBannerNet.setOnItemClickListener(new XBanner.OnItemClickListener() {
@Override
public void onItemClick(XBanner banner, int position) {
Toast.makeText(MainActivity.this, "点击了第"+position+"图片", Toast.LENGTH_SHORT).show();
}
});
7.为了更好的体验,建议j在添加以下代码
[Java] 纯文本查看 复制代码/** 为了更好的体验效果建议在下面两个生命周期中调用下面的方法 **/
@Override
protected void onResume() {
super.onResume();
mXBanner.startAutoPlay();
}
@Override
protected void onStop() {
super.onStop();
mXBanner.stopAutoPlay();
}8.当使用Fresco加载图片时,需要自定义布局文件
1.自定义xml布局文件 image_fresco.layout
[XML] 纯文本查看 复制代码<?xml version="1.0" encoding="utf-8"?>
android:id="@+id/my_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
2.使用setData()方法进行设置
[Java] 纯文本查看 复制代码mXBanner.setData(R.layout.image_fresco.layout,mOthersList,tips);自定义属性说明属性名属性说明属性值
isAutoPlay是否支持自动轮播boolean类型,默认为true
AutoPlayTime图片轮播时间间隔int值,默认为5s
pointNormal指示器未选中时状态点drawable,不设置的话为默认状态点
pointSelect指示器选中时状态点drawable,不设置的话为默认状态点
pointsVisibility是否显示指示器boolean类型,默认为true
pointsPosition指示点显示位置LEFT、CENTER、RIGHT类型,默认为CENTER
pointsContainerBackground指示器背景可自定义设置指示器背景
pointContainerPosition指示器显示位置TOP、BOTTOM类型,默认为BOTTOM
pointContainerLeftRightPadding指示点容器左右内间距dimension,默认为10dp
pointTopBottomPadding指示点上下内间距dimension,默认为6dp
pointLeftRightPadding指示点左右内间距dimension,默认为3dp
tipTextColor提示文案的文字颜色reference
tipTextSize提示文案的文字大小dimension,默认为10dp
isShowNumberIndicator是否显示数字指示器boolean,默认为false不显示
numberIndicatorBacgroud数字指示器背景reference
isShowIndicatorOnlyOne当只有一张图片的时候是否显示指示点boolean,默认为false,不显示
pageChangeDuration图片切换速度int值,默认为1000ms混淆配置
[Java] 纯文本查看 复制代码##XBanner 图片轮播混淆配置
-keep class com.stx.xhb.xbanner.**{*;}更新说明
v1.0.1 新增自定义指示器显示位置、 指示点上下内间距、指示点左右内间距等功能
v1.1.1 修改可能引起内存泄漏的bug
v1.1.2修复当通过setData接口再次刷新数据后无效的问题
v1.2.2新增支持显示提示文字
新增图片切换动画、设置图片切换速度的功能
修复快速滑动出现卡顿的bug
v1.2.4新增在布局中设置图片切换速度
修复猿友提到的下拉刷新的bug
v1.2.5修复两张图片空白的bug
v1.2.6修复网络较差环境下空指针异常bug