Android ViewPager、ViewPager2的基本使用详解及区别

Android:ViewPager \ViewPager2 简单介绍 & 使用方法解析 ViewPager2 ViewPager21、什么是ViewPager?2、什么是ViewPager23、ViewPager使用案例4、ViewPager2使用案例参考 ViewPager2 1、什么是ViewPager? 布局管理器允许左右翻转带数据的页面,你想要显示的视图可以通过实现PagerAdapter来显示。这个类其实是在早期设计和开发的,它的API在后面的更新之中可能会被改变,当它们在新版本之中编译的时候可能还会改变源码。 ViewPager经常用来连接Fragment,它很方便管理每个页面的生 阅读详情

本篇Blog记录ViewPager和ViewPager2

嵌套Fragment的效果图

嵌套Fragment效果

ViewPager的使用

关于ViewPager的使用已经很常见了,这里在复习一下吧。配合TabLayout

  1. 布局文件

    在ViewPager的布局中允许存在子view,我们可以把TabLayout作为ViewPager的子View写在ViewPager内部,也可以并列。

		<androidx.viewpager.widget.ViewPager
            android:id="@+id/vp_merchant_main"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            app:layout_constraintVertical_weight="1"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toBottomOf="@id/banner_merchant_main"
            app:layout_constraintBottom_toBottomOf="parent">

            <com.google.android.material.tabs.TabLayout
                android:id="@+id/tab_layout_merchant_main"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                app:tabGravity="center"
                app:tabIndicatorColor="@color/tabLayoutIndicatorStartColor"
                app:tabSelectedTextColor="@color/textColor"
                app:tabTextAppearance="@android:style/TextAppearance.Holo"
                app:tabTextColor="@color/defaultTextColor" />
        </androidx.viewpager.widget.ViewPager>
  1. Java代码

    代码中我们只需要把Fragment和Titles传入Adapter,然后再设置到ViewPager上就可以了。

    我们也可以调用Tablayout的setupWithViewPager()方法使TabLayout和ViewPager进行绑定

		// ViewPager处理
        ArrayList<Fragment> fragmentList = new ArrayList<>();
        fragmentList.add(new AllProductFragment(this));
        fragmentList.add(new EvaluationFragment(this));
        String[] fragmentTitles = {
   
   "商品", "评价"};
        ViewPagerScrollAdapter scrollAdapter = new ViewPagerScrollAdapter(getSupportFragmentManager());
        scrollAdapter.setFragmentTitles(fragmentTitles
Android ViewPager2 & TabLayout TextView)?.also{ 阅读详情

相关推荐

Android ViewPager2 & TabLayout,整理几个重要的Android知识

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从哪里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家我的【Github】会分享一些关于Android进阶方面的知识,也会分享一下最新的面试题~如果你熟练掌握GitHub中列出的知识点,相信将会大大增加你通过前两轮技术面试的几率!这些内容都供大家参考,互相学习。

m0_61067876的博客 994

2025年了,我重新学习RecyclerView,ListView,GridView, Viewpager,ViewPager2的用法

都2025年了 我知道大家在Android中滑动列表时,大多数时候选择的是RecyclerView,功能丰富,使用灵活, 性能良好。最新的Android Api已经很完善了, 不像早期的API有很多局限性。最近在准备面试题,想起早年间问过的面试问题,还是想着做一个对比笔记。notifyDataSetChanged()全局刷新notifyItemChanged(0)局部刷新notifyItemRemoved(0)局部删除notifyDataSetChanged()全部刷新。

caomeimaomao的博客 1815

Android进阶之路 - ViewPager2 比 ViewPager 强在哪?

有一天有人问到我ViewPager和ViewPager2主要有哪些区别?嗯... 你等我看看...看下来后发现主要体现在实现方面、功能方向、适配器方面、加载方面、API方面等等~

Android、前端、小程序、后端 3144

【Android笔记37】Android中ViewPager2介绍及其使用

ViewPager2组件是对ViewPager组件的升级版本,该组件修复了ViewPager组件的一些bug,并且在底层实现上也进行了变化,ViewPager2底层是基于RecycleView组件实现的,ViewPager2组件是位于【androidx.viewpager2.widget】包下面的,可以看到,它不属于android包里面,所以我们再使用ViewPager2组件的时候,需要额外的引入ViewPager2的依赖。

✅ Java 开发工程师 1158

Android 入门到实战(三):ViewPager及ViewPager2多页面布局

本文介绍了Android开发中实现多页面滑动切换的两种方案:传统ViewPager及其升级版ViewPager2。重点对比了两种Fragment适配器的区别,详细讲解了ViewPager2的优势和改进特性,包括基于RecyclerView实现、支持垂直滑动等。通过一个Activity+3个Fragment的示例,演示了如何配合TabLayout和FragmentStateAdapter实现滑动标签页效果,并提供了完整代码示例。文章强调ViewPager2作为官方推荐的新方案,在性能、灵活性和扩展性方面都优于

weixin_39339407的博客 961

2026年信创系统技术应用专业人才培养基地建设方案(高职、信创新专业、人才培养、专业代码:510221)

响应国家信创产业战略及教育部新增“信创系统技术应用”专业(代码510221)的部署,联合麒麟软件、华为鸿蒙等领军企业,建设高水平信创人才培养基地。方案基于国家政策导向(如2027年央企全面国产化替代目标)和行业人才缺口(2025年缺口超80万人),提出以“产教融合、创新驱动”为核心,构建集教学、实训、认证于一体的综合性培养体系。 建设内容涵盖五大方向: 专业规划:分三阶段(2025-2030年)推进专业申报、课程开发与区域辐射,最终建成区域性信创技术创新平台。 课程体系:围绕运维、云计算、数据库、适配

啊碧根果的博客 1597

oracle两节点RAC,由于gipc导致某节点crs无法启动问题分析

两节点RAC,其中1 节点集群CRS无法启动。经过分析原因为2节点gipcd进程异常,导致节点之间无法正常通信,重启2节点gipcd.bin后问题得以恢复。 从现象来看,是 ora.crsd...

cuibaye0692的博客 4534

Ubuntu 24.04 LTS安装WPS Office 2025冬季版全攻略(附字体缺失解决方案)

本文提供了在Ubuntu 24.04 LTS系统上安装WPS Office 2025冬季版的完整指南,详细对比了dpkg、Snap和GUI三种安装方式的优劣。针对安装后常见的中文字体缺失、思源黑体粗细异常等核心问题,给出了从原理分析到手动补充字体库、修改字体配置文件的深度解决方案,确保WPS Office在Linux环境下获得最佳使用体验。

weixin_29284201的博客 619

App inventor2通过蓝牙控制Arduino Uno LED开关

App inventer2控制Arduino Uno LED开关 如果学会这个小程序,大部分的手机通过蓝牙控制Arduino的功能都可以实现,这个小示例是通过蓝牙模块向Arduino发送"0"和"1",而其它功能要发送其它不同的字符串内容给Arduino. 所需硬件: Arduino Uno JDY-16 蓝牙模块(我的是蓝牙4.2版本) 草帽LED(可选) 手机(我用的是安卓,苹果手机应该也可以,最近其应用商店也有App inventor(AI)伴侣) 软件: Aduino IDE或者Platfom

Firmin123456的博客 5498

2025年VSCode AI插件实战:如何用Devika+Continue+Tabby三件套10倍提升开发效率

本文详细介绍了2025年VSCode AI插件Devika、Continue和Tabby的三件套组合,如何通过智能开发工作流10倍提升开发效率。从项目架构生成到上下文感知辅助,再到本地化智能编码,这套方案实现了从需求分析到代码生成的全流程自动化,特别适合中大型项目开发。

weixin_26911099的博客 270

【系统架构设计师-2026上半年真题】案例分析-参考答案及详解(回忆版)

架构评估与设计:通过入侵检测系统的案例分析,阐述质量属性(性能/可用性/安全性/可修改性)的匹配方法,推荐管道-过滤器风格处理实时数据流,并设计8个核心构件实现数据采集到告警的全流程处理。 高并发优化方案: 分析悲观锁(排他锁/共享锁)与乐观锁的特性差异,提出乐观锁通过版本号/CAS实现,悲观锁适用于强一致性场景。 给出Redis优化三手段:分布式锁控制临界资源、Lua脚本保证原子操作、热点数据多级缓存,结合消息队列削峰填谷。 分层架构实践: 智

数据知道的博客 1675

【Unity引擎技术整合】 Unity学习路线 | 知识汇总 | 持续更新 | 保持乐趣 | 共同成长

本文对Unity引擎的知识进行了一个整理总结,基本包含了Unity中大部分的知识介绍。 网上也有很多Unity相关的学习资料,但大多数都不成体系,学起来的时候难免会东奔西走的摸不着头脑。 本文整理的多数文章都是有对应的系列性文章专栏,可以更方便的进行系统学习相关知识体系。

努力前行,总会成为自己心中的那道光 15万+

FreeRTOS全攻略:从入门到精通

本文聚焦 FreeRTOS,从基础概念出发,阐述其开源、轻量级等优势。着重介绍 FreeRTOS 入门知识,涵盖内存管理、任务操作、同步互斥机制等核心内容。其中,空闲任务与钩子函数保障系统基础运行与功能扩展;队列、信号量、互斥锁和事件组等机制,分别从数据传递、资源访问控制、优先级问题解决及多任务同步等方面,为开发者提供高效的任务间协作与资源管理方案,助力开发者掌握 FreeRTOS 核心技术,为嵌入式项目开发筑牢基础。

邓邓子的博客 6357

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: Android通过Glide获取网络图片尺寸
下一篇: Android 相册选择图片、相机拍照上传功能实现(上)
是阿秋吖
博客等级 码龄10年 7粉丝 33原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值