RecyclerView方案打造的可见页为两页或三页的轮播控件

「珍藏」老司机为你推荐10个炫酷的开源库,看完的人都收藏了 写在前面; 技术群里面经常有人问到一些炫酷的UI效果实现方法,有时候我都是给一个相同或者相似效果的Github链接,有同学私信给我说,大佬,怎么这些效果你都能找到?你是怎么搜索的,或者有其他什么秘方?会利用Google、百度等搜索工具搜索是一方面,另一个重要的方面是:记录搜藏,当看到一个炫酷的效果的时候,记得收藏起来,记录到自己云笔记或者收藏夹里,看得多了,印象就比较深刻,当遇到类似效果的时候,... 阅读详情

使用


implementation 'com.vegen.open:VRecyclerViewBanner:1.1.0'

其中 ‘+’ 请填写版本号我的Github项目地址
Download 后的最新版本

示例(kotlin)


<com.vegen.open.library.VRecyclerViewBanner
        android:id="@+id/banner_type1"
        android:layout_width="match_parent"
        android:layout_height="140dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        app:centerScale="1.2"
        app:itemSpace="10"
        app:autoPlaying="true"
        app:showIndicator="false">
</com.vegen.open.library.VRecyclerViewBanner>
var bannerDataList = arrayListOf(
                "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1836951760,4163997228&fm=27&gp=0.jpg",
                "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=4266268942,741349847&fm=27&gp=0.jpg",
                "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3776651069,3057832255&fm=26&gp=0.jpg"
        )
        
var adapter = HomeBannerAdapter(bannerDataList)
banner_type1.setAdapter(adapter)
banner_type1.setCurrentIndex(1)

轮播样式的 Adapter

class HomeBannerAdapter(var bannerList: ArrayList<String>) : RecyclerView.Adapter<HomeBannerAdapter.ViewHolder>() {

    private var onBannerItemClickListener: VRecyclerViewBanner.OnBannerItemClickListener? = null

    override fun onBindViewHolder(p0: ViewHolder, p1: Int) {
        var imgUrl = bannerList[p1]
        Glide.with(p0.ivBg.context).load(imgUrl).into(p0.ivBg)
        p0.itemView.setOnClickListener {
            onBannerItemClickListener?.onItemClick(p1)
        }
    }

    override fun onCreateViewHolder(p0: ViewGroup, p1: Int): ViewHolder {
        val view = LayoutInflater.from(p0.context).inflate(R.layout.item_home_bannner, p0, false)
        return ViewHolder(view)
    }

    override fun getItemCount(): Int {
        return bannerList?.size
    }

    fun setOnBannerItemClickListener(onBannerItemClickListener: VRecyclerViewBanner.OnBannerItemClickListener) {
        this.onBannerItemClickListener = onBannerItemClickListener
    }


    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        var ivBg: ImageView
        var tvName: TextView

        init {
            tvName = itemView.findViewById(R.id.tv_name)
            ivBg = itemView.findViewById(R.id.iv_bg)
        }
    }
}

demo 效果如下
在这里插入图片描述

相关属性


属性名称方法意义类型默认值
app:showIndicatorsetShowIndicator(boolean showIndicator)是否显示指示器booleanfalse
app:intervalsetAutoPlayDuration(int autoPlayDuration)轮播时间间隔int4000
app:isAutoPlayingsetAutoPlaying(boolean isAutoPlaying)是否开启自动轮播booleantrue
app:orientationsetOrientation(int orientation)轮播图方向enumhorizontal
app:itemSpacesetItemSpace(int itemSpace)图片间距int20
app:centerScalesetCenterScale(float centerScale)当前图片缩放比列float1.2
app:moveSpeedsetMoveSpeed(float moveSpeed)滚动速度,越大越快float1.0
app:showItemCountsetShowItemCount(int count)可视范围内显示的个数enumTHREE
app:firstItemMarginLeftsetFirstItemMarginLeft(float marginLeft)第一个 item 的左边距,showItemCount=TWO 时才生效的属性dimension0dp

项目地址


Github项目地址:https://github.com/Vegen/VRecyclerViewBanner

致谢
RecyclerBanner 参考了部分源码

用RecyclerView实现无限轮播图3D版RecyclerBanner-master.7z 用RecyclerView实现完美的无限轮播图,3D效果和普通效果,支持自定义你的指示器哦,支持一屏三页效果哦,支持上下滑动的banner哦 立即下载

相关推荐

实验5 振幅调制(集成乘法器幅度调制电路)

目录5-1 振荡调制的基本工作原理一.振幅调制和调幅波1.普通调幅波(AM)(1)调幅波的表达式、波形(2)调幅波的频谱2.抑制载波双边带调幅(DSB)3.抑制载波单边带调幅(SSB)二.普通调幅波的产生电路三.抑制载波调幅的产生电路5-2 振幅调制实验电路 5-1 振荡调制的基本工作原理 根据电磁波理论知道,只有频率较高的振荡才能被天线有效地辐射。但是人的讲话声音变换为相应电信号的频率较低,不适于直接从天线上辐射。因此,为了传递信息,就必须将要传递的信息“记载”到高频振荡上去。这一“记载”过程称为调

胡毛毛的博客 3万+

教你最简单的实现ViewPager一屏显示多页的内容

前言 以前在使用viewpager的时候都是结合fragment和tablayout使用,也会当做banner来使用,但这些都是一些基本使用,很少涉及到动效或者其他。不过前段时间项目中有个需求是顶部一个轮播图,但是这个轮播图要在当前页能看到前后两页的部分内容,咋一看,jing到我了,这咋整,好像有点迷,一下子感觉好难啊。相信很多童鞋一开始接触的时候都有跟我一样的想法,但其实不然,只要你接着读下去...

Dreamer__YY的博客 5431

GD32F103实战:用ADC+DMA实现高精度多通道电压采集与OLED实时显示(附完整工程)

本文详细介绍了如何利用GD32F103的ADC+DMA技术实现高精度多通道电压采集,并通过OLED实时显示数据。文章包含硬件架构设计、ADC配置技巧、DMA传输优化及显示系统实现方案,提供完整工程代码和调试指南,适用于工业传感器和环境监测设备开发。

weixin_42567497的博客 399

android无限轮播banner图片并且解决banner图片只有2张出现白板的情况,触摸即不轮播

//主页面代码 public class BannerActivity extends Activity {          private ViewPager mViewPager;     private LinearLayout mLinearLayoutDot;     private int currentPosition;     private List mImag

北京流年 5186

OpenHarmony系统参数权限配置避坑指南:从param get/set失败到SELinux标签实战

本文深入解析OpenHarmony系统参数权限配置的常见问题与解决方案,涵盖DAC和SELinux双重权限控制机制。通过实战案例演示如何配置`param get/set`权限,解决'Permission denied'错误,并提供三方应用访问参数的安全方案,帮助开发者高效完成系统调试与优化。

weixin_27013291的博客 448

yolov8涨点系列之Concat模块改进

yolov8涨点系列之Concat模块改进

zhang1379的博客 2950

android 自动 轮播图,GitHub - YinChuanLiangLiang/LunboViewPager: Android 轮播ViewPager : 实现Banner轮播图效果. 页码指示...

LunboViewPager对ViewPager和ViewPagerIndicator的简单封装,实现轮播图效果。轮播图可以直接在Activity/Fragment中,也可以是RecyclerView的一个Item。该有的基本都有,页码指示,左右无限循环翻页,定时自动翻页,用手指翻页时暂停自动翻页,只有一张图片时变为静态相框,解决原生ViewPager当页数为2时的滑动Bug。提供CirclePa...

weixin_29631169的博客 221

【微服务】Spring Aop原理深入解析

spring原理深度解析

congge 1万+

ViewPager,ViewPager2 无限轮播功能。自定义 Indicator,支持一屏三页,支持仿魅族 banner 效果。极其简单的使用方式

banner 项目地址:zguop/banner 简介: 🔥🔥ViewPager,ViewPager2 无限轮播功能。自定义 Indicator,支持一屏三页,支持仿魅族 banner 效果。极其简单的使用方式 更多:作者提 Bug 标签: 全新升级,基于ViewPager2实现无限轮播功能。可以自定义 indicator,需自定义实现Indicator接口,内置了的 IndicatorView,支持五种动画切换。支持传入 RecyclerView.Adapter 即...

未来很长,但我会努力的走下去。 2427

CATIA 3DEXPERIENCE R2019x VBA开发介绍

CATIA 3DEXPERIENCE R2019x VBA开发介绍 一、 什么是VBA? 【VBA的官方解释】 VBA(Visual Basic for Applications)是VisualBasic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是MicrosoftOffice软件。它也可说是一种应用程式视觉化的 Basic 脚本。 CATIA提供了多种二次开发的接口,其中包括自动化对象编程(Automation)和

WorkMan的博客 5062

ESP-SPARKBOT AI 智能机器人:v1.2 全流程复刻指南

本文介绍 ESP-SPARKBOT AI 智能机器人 v1.2 版本的全流程复刻,包含 PCB 、3D 打印、固件烧录、常见问题解决、参考资料等

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 9250

【swiper】默认显示三张,第一张和第三张只显示一半,中间全部显示,点击可左右切换默认显示一二张

样式1:根据Swiper修改的样式,默认显示三张,第一张和第三张只显示一半,中间全部显示,点击可左右切换默认显示一二张。样式2:默认显示一二张,第一张显示3/2的图片,第二张默认显示3/1图片,可以左右轮播切换。

weixin_43383840的博客 3470

输入过欠压保护电路分析

输入过欠压保护电路仿真分析

HW-BASE的博客 6903

Carousel Recyclerview:打造惊艳轮播效果的终极RecyclerView解决方案

Carousel Recyclerview是一款专为Android开发者设计的强大库,它通过自定义布局管理器的方式,让你能够轻松创建出令人惊艳的轮播效果。无论是实现图片展示、产品推荐还是内容轮播,这款终极RecyclerView解决方案都能满足你的需求,帮助你快速构建出专业级的轮播界面。 ## 为什么选择Carousel Recyclerview? 在移动应用开发中,轮播效果是提升用户体验的重

gitblog_00347的博客 1033

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

终极指南:如何使用Banner 2.0打造Android高效轮播图解决方案

Banner 2.0是一款基于ViewPager2实现的Android广告图片轮播控件,支持自定义Indicator和UI,为Android开发者提供了灵活高效的轮播图解决方案。本文将详细介绍Banner 2.0的核心功能、快速集成方法以及高级自定义技巧,帮助开发者轻松实现专业级轮播效果。 ## 为什么选择Banner 2.0? 在移动应用开发中,轮播图是展示广告、活动和重要信息的关键组件。B

gitblog_00073的博客 718

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Carousel Recyclerview高级技巧:3D效果、无限滚动与透明度动画实战

Carousel Recyclerview是一个强大的Android库,它通过自定义布局管理器让开发者能够轻松创建轮播效果的Recyclerview。本文将分享三个实用高级技巧,帮助你打造更具视觉吸引力的轮播界面:3D立体效果、无缝无限滚动和动态透明度动画。 ## 准备工作:快速集成Carousel Recyclerview 要开始使用这些高级特性,首先需要将项目克隆到本地: ```bash

gitblog_00614的博客 1148

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

终极Android轮播解决方案:banner项目完全指南 — 从ViewPager到ViewPager2的无缝迁移

banner项目是一个功能强大的Android轮播控件,支持ViewPager和ViewPager2实现无限轮播功能。它提供了自定义Indicator、一屏三页效果、仿魅族banner样式等丰富特性,以极其简单的使用方式帮助开发者快速集成高质量轮播功能。 ## 为什么选择banner项目? 在移动应用开发中,轮播功能是展示广告、推荐内容的重要组件。banner项目通过高度封装的API设计,解决

gitblog_00367的博客 263

告别卡顿!Banner 2.0打造丝滑Android轮播体验

在Android应用开发中,轮播控件是展示广告、活动和重要信息的核心组件。GitHub加速计划旗下的Banner 2.0作为一款基于ViewPager2实现的Android广告图片轮播控件,彻底解决了传统轮播组件卡顿、扩展性差的问题,让开发者能够轻松实现丝滑流畅的轮播体验。 ## 🌟 Banner 2.0核心优势解析 Banner 2.0采用ViewPager2作为底层架构,带来了三大革命性

gitblog_00499的博客 355

Android实现画廊效果 (附带源码)

Android实现画廊效果 (附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1208

初学者---第三方框架

1.InfiniteCycleViewPager 炫酷的卡片滑动效果 https://github.com/Devlight/InfiniteCycleViewPager 2.banner Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等! https://github.com/youth52

xcjean的博客 383

告别繁琐轮播实现:Banner 2.0 Kotlin自定义ImageAdapter从入门到精通

你是否还在为Android轮播控件的复杂配置而烦恼?是否想实现既美观又高性能的图片轮播效果?本文将带你从零开始,通过Kotlin语言打造专属于你的Banner轮播适配器,只需10分钟即可掌握核心原理与实战技巧。 ## 一、项目结构速览 Banner 2.0项目采用模块化设计,核心代码位于以下目录: - **轮播核心组件**:[banner/src/main/java/com/youth/ba...

gitblog_00136的博客 360

揭秘Banner 2.0 ViewHolder复用:让Android广告轮播如丝般顺滑

Banner 2.0是一款基于ViewPager2实现的Android广告图片轮播控件,支持自定义Indicator和UI,通过高效的ViewHolder复用机制,让列表滑动体验如丝般顺滑。本文将深入解析其核心复用原理,帮助开发者快速掌握优化轮播性能的关键技巧。 ## 为什么ViewHolder复用对轮播控件至关重要? 在Android开发中,广告轮播控件需要频繁加载和切换图片,若不采用复用机

gitblog_00264的博客 434

Android 常用开源库(UI部分)

Android 常用开源库(UI部分)

leveretz的博客 748

CycleRotationView:自定义控件之轮播图

打造你所熟悉的广告栏。

郭霖 396

3分钟搞定Android广告轮播:Banner 2.0极速集成指南

你还在为Android广告轮播开发烦恼吗?布局适配复杂、指示器样式单一、滑动效果卡顿?本文将带你使用Banner 2.0(基于ViewPager2实现的新一代轮播控件),通过5步完成从依赖配置到自定义样式的全流程,最终实现如淘宝首页轮播、魅族应用商店画廊等专业效果。 ## 为什么选择Banner 2.0? Banner 2.0作为Android平台主流的广告轮播解决方案,相比传统ViewPag...

gitblog_01148的博客 549

Android轮播图零崩溃适配:Banner 2.0让Android 5.0+机型完美运行的实战指南

你是否还在为轮播图在Android 5.0设备上崩溃、在Android 13上滑动卡顿而头疼?是否尝试过5种轮播库仍无法解决版本兼容问题?本文将通过Banner 2.0的ViewPager2内核重构方案,带你掌握从基础集成到深度定制的全流程适配技巧,确保你的轮播功能在99%的Android设备上流畅运行。读完本文你将获得:Android 5.0+全版本兼容方案、3种自定义指示器实现、5种动画效果的...

gitblog_00311的博客 477
上一篇: EventBus 源码分析
下一篇: 含覆盖模式、色块拼接组合模式的可渐变、可中间带文字列表的圆环进度条
胡小明同学
博客等级 码龄10年 35粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值