XBanner、FlyBanner支持图片无限轮播控件
来源:互联网 发布:php彩票门户网站源码 编辑:程序博客网 时间:2024/05/23 21:03
XBanner
支持图片无限轮播的控件,可进行自定义功能。
效果图
主要功能:
- 支持根据服务端返回的数据动态设置广告条的总页数
- 支持大于等于1页时的无限循环自动轮播、手指按下暂停轮播、抬起手指开始轮播
- 支持自定义状态指示点位置 左 、中 、右
- 支持自定义状态指示点
- 支持监听 item 点击事件
- 支持设置图片轮播间隔
- 支持指示器背景的修改及隐藏/显示
基本使用:
1.添加Gradle依赖
dependencies { compile 'com.xhb:xbanner:1.1.2'}
2.在清单文件中添加网络权限
<uses-permission android:name="android.permission.INTERNET" />
3.在布局文件中添加XBanner
<com.stx.xhb.xbanner.XBanner 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"/>
4.在Activity或者Fragment中配置
初始化:直接传入视图集合进行初始化
List<String> 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);
5.加载广告
可根据自己项目需要使用相应的图片加载工具进行加载图片,此处使用Glide,进行加载,可配置占位图等
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 的单击事件
mBannerNet.setOnItemClickListener(new XBanner.OnItemClickListener() { @Override public void onItemClick(XBanner banner, int position) { Toast.makeText(MainActivity.this, "点击了第"+position+"图片", Toast.LENGTH_SHORT).show(); } });
自定义属性说明
混淆配置
##XBanner 图片轮播混淆配置-keep class com.stx.xhb.xbanner.**{*;}
资源链接:https://github.com/xiaohaibin/XBanner
补充:
Glide为Android上一个专注于图像加载和缓存的库。
使用时需添加Gradle依赖:
repositories { mavenCentral()}dependencies { compile 'com.github.bumptech.glide:glide:3.6.0'}
如果报错:Android Studio fails to debug with error org.gradle.process.internal.ExecException,则需添加如下代码:
FlyBanner
github地址:https://github.com/FlyRecker/FlyBanner
支持无限循环的广告栏控件
Gradle
dependencies { compile 'com.recker.flybanner:flybanner:1.3' }
Usage
Config in xml
<com.recker.flybanner.FlyBanner android:id="@+id/banner_1" android:layout_width="match_parent" android:layout_height="200dp"/>
Config in java
/** * 加载本地图片 */private void initLocalBanner() { mBannerLocal = (FlyBanner) findViewById(R.id.banner_1); List<Integer> images = new ArrayList<>(); images.add(R.drawable.img_1); images.add(R.drawable.img_2); images.add(R.drawable.img_3); images.add(R.drawable.img_4); mBannerLocal.setImages(images); mBannerLocal.setOnItemClickListener(new FlyBanner.OnItemClickListener() { @Override public void onItemClick(int position) { toast("点击了第"+position+"张图片"); } });}/** * 加载网页图片 */private void initNetBanner() { mBannerNet = (FlyBanner) findViewById(R.id.banner_2); List<String> imgesUrl = new ArrayList<>(); for (int i = 0; i < mImagesUrl.length; i++) { imgesUrl.add(mImagesUrl[i]); } mBannerNet.setImagesUrl(imgesUrl); mBannerNet.setOnItemClickListener(new FlyBanner.OnItemClickListener() { @Override public void onItemClick(int position) { toast("点击了第" + position + "张图片"); } });}
xml参数说明:
方法说明:
1 0
- XBanner、FlyBanner支持图片无限轮播控件
- XBanner支持图片无限轮播控件
- XBanner支持图片无限轮播控件
- XBanner支持图片无限轮播控件
- XBanner支持图片无限轮播控件,可自定义功能
- XBanner——支持图片无限轮播控件 类库
- xbanner无限轮播
- 支持图片无限轮播的BannerLayout
- iOS 自定义图片无限轮播控件
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 1
- 学习
- HDU 3007 Buried memory (最小圆覆盖 凸包解法)
- codeforces#373B.Making Sequences is Fun
- 【2016.10.5NOIP普及模拟】wd的假日
- XBanner、FlyBanner支持图片无限轮播控件
- HDU 1281 棋盘游戏
- 【C语言】数组与指针的辨析
- Python Import模块方法
- Hadoop之Partition到底是干啥子的?
- 交换机级联后网速在底层交换机变慢的问题
- 结构体与共用体的复习(2)
- Protobuf语言指南
- 听说awk语言也可以编写脚本