Banner轮播图的使用
首先添加依赖哦
implementation files('libs\\banner-2.1.0.aar')
接下来回到布局上面设置banner的属性 代码如下:
<com.youth.banner.Bannerandroid:id="@+id/banner"android:layout_width="match_parent"android:layout_marginStart="16dp"android:layout_marginTop="8dp"android:layout_marginEnd="16dp"android:layout_marginBottom="8dp"android:layout_height="200dp"/>
如果是网络请求数据的话可以这样写:
创建一个RetrofitClient的类,这里用retrofit的请求方法哦
public class RetrofiClient {public static final String IP = "http://124.93.196.45:10091";private static Retrofit retrofit = new Retrofit.Builder()
// 网络请求url地址.baseUrl(IP)
// 网络请求适配器工厂的集合.addConverterFactory(GsonConverterFactory.create()).build();private RetrofiClient() {}public static Retrofit getRetrofit() {return retrofit;}public static APIService apiService() {return retrofit.create(APIService.class);}}
在api的接口中写需要请求的地址:
//获取轮播图数据@GET ("/prod-api/api/metro/rotation/list")Call<BannerBean> getBeanDate();
上面的BannerBean是将要请求的数据的实体类
public class BannerBean {/*** total : 2* rows : [{"searchValue":null,"createBy":"admin","createTime":"2021-05-12 08:50:17","updateBy":"1","updateTime":"2021-05-12 09:07:33","remark":null,"params":{},"id":30,"appType":"metro","status":"1","sort":2,"advTitle":"地铁广告2","advImg":"/prod-api/profile/upload/image/2021/05/12/4a0fd4e7-2e01-420c-b89b-e39108d2f191.jpg","servModule":"新闻资讯","targetId":81,"type":"2"},{"searchValue":null,"createBy":"admin","createTime":"2021-05-12 09:12:51","updateBy":"1","updateTime":"2021-05-12 09:14:04","remark":null,"params":{},"id":33,"appType":"metro","status":"1","sort":3,"advTitle":"地铁广告3","advImg":"/prod-api/profile/upload/image/2021/05/12/aaa2ac1e-94da-4d0f-8077-8b1affa8c932.png","servModule":"新闻资讯","targetId":73,"type":"2"}]* code : 200* msg : 查询成功*/private int total;private int code;private String msg;private List<RowsBean> rows;public int getTotal() {return total;}public void setTotal(int total) {this.total = total;}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public List<RowsBean> getRows() {return rows;}public void setRows(List<RowsBean> rows) {this.rows = rows;}public static class RowsBean {/*** searchValue : null* createBy : admin* createTime : 2021-05-12 08:50:17* updateBy : 1* updateTime : 2021-05-12 09:07:33* remark : null* params : {}* id : 30* appType : metro* status : 1* sort : 2* advTitle : 地铁广告2* advImg : /prod-api/profile/upload/image/2021/05/12/4a0fd4e7-2e01-420c-b89b-e39108d2f191.jpg* servModule : 新闻资讯* targetId : 81* type : 2*/private Object searchValue;private String createBy;private String createTime;private String updateBy;private String updateTime;private Object remark;private ParamsBean params;private int id;private String appType;private String status;private int sort;private String advTitle;private String advImg;private String servModule;private int targetId;private String type;public Object getSearchValue() {return searchValue;}public void setSearchValue(Object searchValue) {this.searchValue = searchValue;}public String getCreateBy() {return createBy;}public void setCreateBy(String createBy) {this.createBy = createBy;}public String getCreateTime() {return createTime;}public void setCreateTime(String createTime) {this.createTime = createTime;}public String getUpdateBy() {return updateBy;}public void setUpdateBy(String updateBy) {this.updateBy = updateBy;}public String getUpdateTime() {return updateTime;}public void setUpdateTime(String updateTime) {this.updateTime = updateTime;}public Object getRemark() {return remark;}public void setRemark(Object remark) {this.remark = remark;}public ParamsBean getParams() {return params;}public void setParams(ParamsBean params) {this.params = params;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getAppType() {return appType;}public void setAppType(String appType) {this.appType = appType;}public String getStatus() {return status;}public void setStatus(String status) {this.status = status;}public int getSort() {return sort;}public void setSort(int sort) {this.sort = sort;}public String getAdvTitle() {return advTitle;}public void setAdvTitle(String advTitle) {this.advTitle = advTitle;}public String getAdvImg() {return advImg;}public void setAdvImg(String advImg) {this.advImg = advImg;}public String getServModule() {return servModule;}public void setServModule(String servModule) {this.servModule = servModule;}public int getTargetId() {return targetId;}public void setTargetId(int targetId) {this.targetId = targetId;}public String getType() {return type;}public void setType(String type) {this.type = type;}public static class ParamsBean {}}
最后,在HomeFragment.java中对布局中的banner进行初始化
initView();
// 初始化private void initView() {banner = root.findViewById(R.id.banner);}
接下来去获取轮播图
getBeanDate();/ 获取轮播图private void getBeanDate() {RetrofiClient.apiService().getBeanDate().enqueue(new Callback<BannerBean>() {@Overridepublic void onResponse(Call<BannerBean> call, Response<BannerBean> response) {BannerBean body = response.body();if (body!=null && body.getCode()==200) {mBannerList = body.getRows();Log.i(TAG,"获取轮播图");// 使用轮播图userBanner();}}@Overridepublic void onFailure(Call<BannerBean> call, Throwable throwable) {}});}
获取轮播图之后使用轮播图
/ 使用轮播图private void userBanner(){banner.setAdapter(new BannerImageAdapter<BannerBean.RowsBean>(mBannerList) {@Overridepublic void onBindView(BannerImageHolder bannerImageHolder, BannerBean.RowsBean rowsBean, int i, int i1) {final String IPP =IP+mBannerList.get(i).getAdvImg();Glide.with(getActivity().getApplicationContext()).load(IP+mBannerList.get(i).getAdvImg()).placeholder(R.mipmap.ic_launcher).apply(RequestOptions.bitmapTransform(new RoundedCorners(30))).into(bannerImageHolder.imageView);Log.d(TAG, "onResponse: " + "使用轮播图222: IP = " + IPP);}})// 添加生命周期观察者.addBannerLifecycleObserver(this)
// 圆点指示器.setIndicator(new CircleIndicator(getActivity().getApplicationContext()));}
请求成功后就是这样的轮播图噢
Banner轮播图的使用相关推荐
- Mint-UI 移动首页开发 - header导航、banner轮播图
Mint-UI 移动首页style排版问题:header导航.banner轮播图.footer底部版权··· ··· 资源预览: 中文 2.x官方文档(含演示地址): 文档首页 中文 2.x官方文档( ...
- html中制作banner,css banner轮播图怎么做?
css banner轮播图怎么做?下面本篇文章给大家简单介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 初步了解动画效果吧.轮播图我一直以为靠jquery插件完成的,突然发 ...
- 谷粒学院-首页数据显示-banner轮播图微服务搭建
新建banner轮播图微服务 1.在service模块下创建子模块service_cms 2.配置application.properties # 服务端口 server.port=8004 # 服务 ...
- AxureRP实战(三)Banner轮播图交互(进阶篇)
前一篇<AxureRP实战(二)Banner轮播图交互(基础篇)>用淘宝的首页banner案例讲解了如何运用动态面板实现banner轮播图的切换,有了基本交互功能.但是,交互效果还有些欠缺 ...
- banner轮播图切换插件
下载地址 banner轮播图切换插件,基于jquery实现的图片轮播效果. dd:
- H5页面中的视频轮播(类似于banner轮播图效果)
先说下我的需求,如下图: 手机模型中间部分是视频播放,当一条视频播放完毕后,整屏会自动上滑切换到下一个视频. 详细效果展示请在PC端点击:http://www.17jianyue.cn/ 查看 提起轮 ...
- Android Studio Banner轮播图
Banner轮播图 使用步骤 代码片段 使用步骤 1.导依赖 2.写布局 3.图片集合(图片网址,图片资源id),标题集合 4.常用方法 图片集合 banner.setImages(imgs); 加载 ...
- android banner动画框架,Android Studio Banner轮播图使用
现在恰好有个项目需要做个轮播图效果,这个需求也是很常见的需求,于是就做个笔记写一下实现过程 分为加载本地图片和网络图片 加载本地图片 第一步:先在build.gradle中加入banner和glide ...
- ViewFlipper实现带圆点的banner轮播图
1 布局文件定义ViewFlipper以及小圆点 <RelativeLayoutandroid:id="@+id/rl_banner"android:layout_width ...
- 2.2.2新版Banner轮播图实现
随着Android弃用了jcenter库以后,Banner的使用也大大的和以前不同,下面就来介绍一下2.2.2版本banner的使用和Demo 文章目录 一.改进内容 二.Demo效果图 二.步骤 1 ...
最新文章
- NetMarketShare:本月桌面浏览器市场份额几乎没有变化
- 自动滚动_滚动式封口机的性能特点有哪些?
- 各行业2021薪酬报告来了,三大高薪行业令人羡慕
- sql报表按月统计_用Excel如何对销售数据按月分别统计成本,销售额以及利润?...
- 翻译文章第六章8-11
- DELL电脑自检代码错误提示含义
- java 象限分析_用四种象限分析你(未来的人生走向)
- 如何更改mssq,SSAS l代理运行身份验证
- 射频微波芯片设计2:滤波器芯片
- word公式编辑器软件
- DOORS8.0的安装和基本使用
- 搭建springboot+mybatis+freemarker项目
- 穆迪收购风险与合规情报、数据和软件领域的领导者RDC
- CSS属性设置鼠标为手型
- Python 解压rar类型文件
- QT使用QMovie播放Gif动画
- matlab有限元大作业,有限元大作业matlab课程设计例子解决方案.doc
- 4G网卡驱动调试-ec20
- 一加3t氢android8_一加3t氢android8_一加氢OS推出Android 8.0正式版 新系统流畅到飞起...
- 读取图片输出字符图案:用字符输出足球的图案
热门文章
- java毕业设计HTML5寿光农产品资源展示平台源码+系统+数据库+lw文档+调试运行
- 电子邮件相关_邮件传输协议简单了解
- 推荐系统应用研究:音乐电台
- 验收测试驱动开发包含哪四步_验收测试驱动开发
- 教你制作XP主题一键安装包
- 分析软件创业者的几个素质
- java成绩管理系统设计背景_java学生成绩管理系统界面设计
- 通过autofac教你彻底明白依赖解耦(二)理论结合实践 - 大侠.Net
- 苹果刷linux系统下载官网下载,如何安装苹果系统
- 苹果手机充电口接触不良怎么办_充电口盖子打不开、充电枪拔不下来怎么办?...