当前位置: 首页 > news >正文

【Android】轮播图——Banner

引言

Banner轮播图是一种在网页和移动应用界面设计中常见的元素,主要用于在一个固定的区域内自动或手动切换一系列图片,以展示不同的内容或信息。这个控件在软件当中经常看到,商品促销、热门歌单、头像新闻等等。它不同于ViewPgaer在于无需手动进行翻页,它会自动进行轮播,但也可手动滑动到你所要看的页面。接下来就来学习轮播图的使用吧!

使用

  1. 导入Banner的依赖
implementation 'io.github.youth5201314:banner:2.2.2'
  1. 进行XML文件的设置
<com.youth.banner.Bannerandroid:id="@+id/banner_text"android:layout_width="match_parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintStart_toStartOf="parent"android:layout_height="wrap_content"app:banner_loop_time="1000" />

给大家介绍一下Banner的常用属性:

  • 轮播间隔时间(banner_loop_time):这个属性用于设置轮播图的自动切换时间间隔,默认为3000毫秒(3秒)。
  • 是否自动轮播(banner_auto_loop):一个布尔值属性,用于指定轮播图是否自动播放,默认为true。
  • 是否支持无限循环(banner_infinite_loop):另一个布尔值属性,用于指定轮播图是否支持无限循环,即首尾直接过渡,默认为true。
  • 轮播方向(banner_orientation):枚举类型属性,用于指定轮播图的滚动方向,可以是水平(horizontal)或垂直(vertical),默认为水平。
  • Banner圆角半径(banner_radius):用于设置轮播图的圆角半径。
  • 指示器默认宽度(banner_indicator_normal_width):设置指示器未选中时的宽度,默认为5dp(对RoundLinesIndicator无效)。
  • 指示器选中宽度(banner_indicator_selected_width):设置指示器选中时的宽度,默认为7dp。
  • 指示器默认颜色(banner_indicator_normal_color):设置指示器未选中时的颜色,默认为0x88ffffff。
  • 指示器选中颜色(banner_indicator_selected_color):设置指示器选中时的颜色,默认为0x88000000。
  • 指示器之间的间距(banner_indicator_space):设置指示器之间的间距,默认为5dp(对RoundLinesIndicator无效)。
  • 指示器位置(banner_indicator_gravity):设置指示器的位置,默认为中心(center)。
  • 指示器高度(banner_indicator_height):设置指示器的高度(对CircleIndicator无效)。
  • 指示器圆角(banner_indicator_radius):设置指示器的圆角(对CircleIndicator无效)。
  1. 显示轮播图

在活动里面为其添加所要轮播的图片,我们在一开始就觉得Banner与ViewPager很类似,像是加强版,因此在使用的时候也是一样的,先获取控件示例,为其添加适配器,根据我们所要轮播的内容不同,适配器也不同 。(想了解各个适配器可看之前的博客:【Android】ViewPager与ViewPager2之间的区别_androidx.viewpager2.widget.viewpager2-CSDN博客,对不同的适配器有讲解)

Banner本身就已经帮我们做了一个适配器BannerImageAdapter,我们就使用这个适配器实现图片的轮播:

在这里插入图片描述

这就是活动里面的代码了,接下来运行程序,图片就会不停的自动轮播。

文章到这里就结束了!

相关文章:

【Android】轮播图——Banner

引言 Banner轮播图是一种在网页和移动应用界面设计中常见的元素&#xff0c;主要用于在一个固定的区域内自动或手动切换一系列图片&#xff0c;以展示不同的内容或信息。这个控件在软件当中经常看到&#xff0c;商品促销、热门歌单、头像新闻等等。它不同于ViewPgaer在于无需手…...

学SQL,要安装什么软件?

先上结论&#xff0c;推荐MySQLDbeaver的组合。 学SQL需要安装软件吗&#xff1f; 记得几年前我学习SQL的时候&#xff0c;以为像Java、Python一样需要安装SQL软件包&#xff0c;后来知道并没有所谓SQL软件&#xff0c;因为SQL是一种查询语言&#xff0c;它用来对数据库进行操…...

webstorm 设置总结

编辑器-》文件类型-》忽略的文件和文件夹-》加上node_modules 修改WebStorm 内存有两种方式。 1. 点击菜单中的Help -> change memory settings 弹出设置内存窗口&#xff0c;修改最大内存大小。然后点击Save and Restart 即可。 2. 点击菜单中的Help -> Edit Custom V…...

基于Spring Boot的养老保险管理系统的设计与实现,LW+源码+讲解

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统养老保险管理系统信息管理难度大&#xff0c;容错率低&a…...

Java | Leetcode Java题解之第541题反转字符串II

题目&#xff1a; 题解&#xff1a; class Solution {public String reverseStr(String s, int k) {int n s.length();char[] arr s.toCharArray();for (int i 0; i < n; i 2 * k) {reverse(arr, i, Math.min(i k, n) - 1);}return new String(arr);}public void reve…...

sql分区

将学员表student按所在城市使用PARTITION BY LIST 1、创建分区表。 CREATE TABLE public.student( sno numeric(4,0)&#xff0c; sname character varying(20 char),gender character varying(2 char), phone numeric(11,0), …...

[OpenGL]使用OpenGL实现硬阴影效果

一、简介 本文介绍了如何使用OpenGL实现硬阴影效果&#xff0c;并在最后给出了全部的代码。本文基于[OpenGL]渲染Shadow Map&#xff0c;实现硬阴影的流程如下&#xff1a; 首先&#xff0c;以光源为视角&#xff0c;渲染场景的深度图&#xff0c;将light space中的深度图存储…...

嵌入式采集网关(golang版本)

为了一次编写到处运行&#xff0c;使用纯GO编写&#xff0c;排除CGO&#xff0c;解决在嵌入式中交叉编译难问题 硬件设备&#xff1a;移远EC200A-CN LTE Cat 4 无线通信模块&#xff0c;搭载openwrt操作系统&#xff0c;90M内存...

ctfshow(328)--XSS漏洞--存储型XSS

Web328 简单阅读一下页面。 是一个登录系统&#xff0c;存在一个用户管理数据库。 那么我们注册一个账号&#xff0c;在账号或者密码中植入HTML恶意代码&#xff0c;当管理员访问用户管理数据库页面时&#xff0c;就会触发我们的恶意代码。 思路 我们向数据库中写入盗取管理员…...

【C#】Thread.CurrentThread的用法

Thread.CurrentThread 是 System.Threading.Thread 类的一个静态属性&#xff0c;它返回当前正在执行的线程对象。通过 Thread.CurrentThread&#xff0c;可以访问和修改当前线程的各种属性和方法。 下面是一些常见的用法和示例&#xff1a; 1. 获取当前线程的信息 使用 Thr…...

简单分享一下淘宝商品数据自动化抓取的技术实现与挑战

在电子商务领域&#xff0c;数据是驱动决策的关键。淘宝作为国内最大的电商平台之一&#xff0c;其商品数据对电商从业者来说具有极高的价值。然而&#xff0c;从淘宝平台自动化抓取商品数据并非易事&#xff0c;涉及多重技术和法律挑战。本文将从技术层面分析实现淘宝商品数据…...

Netty篇(入门编程)

目录 一、Hello World 1. 目标 2. 服务器端 3. 客户端 4. 流程梳理 &#x1f4a1; 提示 5. 运行结果截图 二、Netty执行流程 1. 流程分析 2. 代码案例 2.1. 引入依赖 2.2. 服务端 服务端 服务端处理器 2.3. 客户端 客户端 客户端处理器 2.4. 代码截图 一、Hel…...

【渗透测试】payload记录

Java开发使用char[]代替String保存敏感数据 Java Jvm会提供内存转储功能&#xff0c;当Java程序dump后&#xff0c;会生成堆内存的快照&#xff0c;保存在.hprof后缀的文件中&#xff0c;进而导致敏感信息的泄露。char[]可以在存储敏感数据后手动清零&#xff0c;String对象会…...

2024自动驾驶线控底盘行业研究报告

自动驾驶线控底盘是实现自动驾驶的关键技术之一,它通过电子信号来控制车辆的行驶,包括转向、制动、驱动、换挡和悬架等系统。线控底盘技术的发展对于自动驾驶汽车的实现至关重要,因为它提供了快速响应和精确控制的能力,这是自动驾驶系统所必需的。 线控底盘由五大系统组成…...

css3D变换用法

文章目录 CSS3D变换详解及代码案例一、CSS3D变换的基本概念二、3D变换的开启与景深设置三、代码案例 CSS3D变换详解及代码案例 CSS3D变换是CSS3中引入的一种强大功能&#xff0c;它允许开发者在网页上创建三维空间中的动画和交互效果。通过CSS3D变换&#xff0c;你可以实现元素…...

Rust:启动与关闭线程

在 Rust 编程中&#xff0c;启动和关闭线程是并发编程的重要部分。Rust 提供了强大的线程支持&#xff0c;允许你轻松地创建和管理线程。下面将详细解释如何在 Rust 中启动和关闭线程。 启动线程 在 Rust 中&#xff0c;你可以使用标准库中的 std::thread 模块来创建和启动新…...

Ubuntu 的 ROS 2 操作系统安装与测试

引言 机器人操作系统&#xff08;ROS, Robot Operating System&#xff09;是一种广泛应用于机器人开发的开源框架&#xff0c;提供了丰富的库和工具&#xff0c;支持开发者快速构建、控制机器人并实现智能功能。 当前&#xff0c;ROS 2 的最新长期支持版本为 Humble Hawksbil…...

在双显示器环境中利用Sunshine与Moonlight实现游戏串流的同时与电脑其他任务互不干扰

我和老婆经常会同时需要操作家里的电脑&#xff0c;在周末老婆有时要用电脑加班上网办公&#xff0c;而我想在难得的周末好好地Game一下&#xff08;在客厅用电视机或者平板串流&#xff09;&#xff0c;但是电脑只有一个&#xff0c;以往我一直都是把电脑让给老婆&#xff0c;…...

ElasticSearch备考 -- Cross cluster replication(CCR)

一、题目 操作在cluster1&#xff08;local&#xff09;中操作索引task&#xff0c;复制到cluster2&#xff08;remote&#xff09;中 二、思考 CCR 我们可以对标MySQL 理解为为主从&#xff0c;后者备份。主节点负责写入数据&#xff0c;从/备节点负责同步时主节点的数据。 …...

windows C#-异常处理

C# 程序员使用 try 块来对可能受异常影响的代码进行分区。 关联的 catch 块用于处理生成的任何异常。 finally 块包含无论 try 块中是否引发异常都会运行的代码&#xff0c;如发布 try 块中分配的资源。 try 块需要一个或多个关联的 catch 块或一个 finally 块&#xff0c;或两…...

智能车小白也能懂的舵机PD控制:从电感差比和到方向控制,保姆级避坑指南

智能车方向控制入门&#xff1a;用PD算法驯服你的舵机 第一次看到智能车在赛道上流畅过弯时&#xff0c;很多人都会好奇——这辆小车是如何感知赛道边界并精准控制方向的&#xff1f;作为电磁组智能车的核心部件&#xff0c;舵机就像车辆的"方向盘"&#xff0c;而PD控…...

告别第三方工具:用Cloudflare官方测速文件快速检测你的网络性能

告别第三方工具&#xff1a;用Cloudflare官方测速文件快速检测你的网络性能 你是否遇到过这样的场景&#xff1a;视频缓冲转圈、文件下载龟速、在线会议卡顿&#xff0c;却不知道是网络问题还是服务商的问题&#xff1f;传统的测速工具要么需要安装软件&#xff0c;要么广告满天…...

基于遗忘因子递推最小二乘法的电池模型参数在线辨识与优化

1. 电池模型参数辨识为什么需要FFRLS算法 我第一次接触电池参数辨识是在开发一款智能硬件时&#xff0c;当时发现传统最小二乘法有个致命问题——它会把所有历史数据同等对待。这就像用算盘计算平均数时&#xff0c;不管数据是昨天还是去年的&#xff0c;都按相同权重处理。但在…...

HarmonyOS开发入门:DevEco Studio工程目录结构详解与实战配置

HarmonyOS开发实战&#xff1a;深度解析DevEco Studio工程架构与高效配置策略 当你第一次在DevEco Studio中创建HarmonyOS项目时&#xff0c;是否曾被复杂的目录结构弄得一头雾水&#xff1f;作为华为全场景智能生态的核心开发工具&#xff0c;DevEco Studio采用了一套精心设计…...

数据清洗提速37倍的秘密:Polars 2.0中arrow2内核的零拷贝cast、predicate pushdown与pl.scan_parquet深度调优

第一章&#xff1a;Polars 2.0 大规模数据清洗技巧 面试题汇总Polars 2.0 引入了更严格的惰性执行模型、增强的字符串处理 API 以及对空值语义的统一规范&#xff0c;使其在面试中成为高频考察对象。高频考点聚焦于内存效率、链式操作健壮性及跨类型转换的边界处理。高效处理缺…...

foobox-cn:让foobar2000焕发新生的界面增强工具

foobox-cn&#xff1a;让foobar2000焕发新生的界面增强工具 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 还在忍受foobar2000单调的默认界面吗&#xff1f;想让音乐播放体验更加赏心悦目且功能丰富…...

西门子触摸屏报警处理:除了弹窗,用这个‘非中断式’方法让产线更丝滑

西门子HMI非中断报警系统设计&#xff1a;让产线效率提升30%的实战方案 在快节奏的工业现场&#xff0c;每一次操作中断都意味着产能的隐形流失。传统HMI报警弹窗就像突然按下的暂停键——操作员必须停下手中任务去点击确认&#xff0c;而流水线上的产品仍在流动。这种矛盾在汽…...

Matlab Simulink代码生成全流程解析

matlab simulink代码生成 包括&#xff1a;环境配置&#xff0c;参数与信号配置&#xff0c;函数名配置&#xff0c;数据管理&#xff0c;代码生成&#xff0c;以及代码优化等 文档63页在工程领域&#xff0c;利用Matlab Simulink进行代码生成是一项极为实用的技能&#xff0c;…...

LyricsX深度解析:macOS平台终极歌词解决方案的技术实现与高级应用

LyricsX深度解析&#xff1a;macOS平台终极歌词解决方案的技术实现与高级应用 【免费下载链接】LyricsX &#x1f3b6; Ultimate lyrics app for macOS. 项目地址: https://gitcode.com/gh_mirrors/ly/LyricsX LyricsX是一款专为macOS设计的终极歌词应用&#xff0c;通过…...

EfficientNet实战:如何在移动端部署B0-B7模型(附显存优化技巧)

EfficientNet移动端部署实战&#xff1a;从模型选型到显存优化全解析 在移动端和边缘计算场景中部署深度学习模型&#xff0c;就像给一辆跑车装上节能引擎——既要保持性能&#xff0c;又要极致压缩资源消耗。EfficientNet系列模型正是这种平衡艺术的代表作&#xff0c;但当开发…...