首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android开发笔记(一百七十二)第二代翻页视图ViewPager2

与ViewPager相比,ViewPager2支持更丰富的界面特效,包括但不限于下列几点: 1、不但支持水平方向翻页,还支持垂直方向翻页; 2、支持RecyclerView.Adapter,允许调用适配器对象的...先在测试页面的Java代码中补充下面几行:     // ViewPager2支持展示左右两页的部分区域     RecyclerView cv_content = (RecyclerView) vp2...撤销刚加的边缘特效代码,再给测试页面的Java代码中补充下面几行:     // ViewPager2支持在翻页时展示切换动画     // 创建页面转换器,用于计算切换动画的各项参数     ViewPager2...ViewPager2不仅支持循环适配器,同样支持翻页适配器,还是新的哦。...一看名称不同,用法肯定有差别,尽管它俩都支持碎片Fragment,但具体的方法就不一样了。

2.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ViewPager2打造轮播Banner

    [效果图] 上图是天津地铁APP的Banner也是本文要实现的效果 一、如何使用ViewPager2 ①在app下的build.gradle文件中添加如下依赖implementation "androidx.viewpager2...实现它的圆角需要写一个style ④我们都知道ViewPager2的适配器和RecyclerView的使用一样,这里就不贴代码了 ⑤最后我们给ViewPager2设置上adapter即可 二、轮播图左右无线滑动...数据源的第一位add最后一张图val newList = arrayListOf() newList.add(pic[pic.size-1])for (item in pic) {...这里采用了view的postDelayed方法进行实现 mLooper是我定义的Runnable,后面会讲原因 滑动实现了,但启停时机也很重要 所以这里选用onWindowFocusChanged因为它在窗体失去和获得焦点的时候会通知我们...ViewPager2是一个视图组,未调用setOnTouchListener是因为recyclerview拦截事件并首先调用onTouchEvent bannerVp.getChildAt(0)给它设置监听即可

    1.8K30

    ViewPager中Fragment状态保存的哪些事

    引言 在使用 ViewPager 时 , 如果我们的适配器使用的是 FragmentStatePagerAdapter ,那么当我们重新滑到之前已销毁的页面时,一般情况下页面的状态依然将保持不变(比如...基础概念 ViewPager 官方的适配器有两种,即 FragmentPagerAdapter 以及 FragmentStatePagerAdapter 。...- (data = activityViewModel.data[key]) 如上所示,我们有一个 Activity,其内部有一个 ViewPager,ViewPager 的适配器就是我们上面写的...Fragment 内部是一个 RecyclerView,其数据源来自 activity级 的ViewModel(即我们对数据根据key做了缓存,避免每次的重新初始化) 我们做一个滚动测试,然后再看看 Fragment...但当我们重新切换到 1 时,可以发现,Fragment1 中 RecyclerView 的 滚动位置 没有变化,所以可以证明 Fragment 的状态的确是被还原了。 那这是怎么做的呢?

    1.4K20

    Android ViewPager2 真的香么?

    和尚当前 SDK 已是最新版本,首先按照提示在 AndroidManifest->application 添加错误中要求的,但是并不能解决问题,之后查阅了很多资料,发现 Androidx 与 Android...尝试 和尚尝试绑定不同背景色和文字内容;与 ViewPager 不同的是,适配器需要使用 RecyclerView.Adapte,这也意味着绑定数据的方式更灵活,和尚为了测试 ViewPager2...() 方法可以动态调整内容展示方位,从左到右或从右到左; 此时感觉 ViewPager2 真的很方便,尤其是实时更新数据和动态调整切换方向,真香!...supportsRtl="true" 属性; 内边距和外边距建议设置 start/end 方式; ViewPager2 中设置 setLayoutDirection 时,整个 ViewPager2 不仅子...小结 和尚在学习过程中发现 ViewPager2 确实有很大优势,只是目前还没有发布到正式版,而且对于版本适配也会有一定难度,对于 Fragment 的懒加载与预加载还有待研究;但是学习体验一下还是很有帮助的

    2.1K31

    学习笔记 | Android Studio安卓开发入门经验总结 干货

    onDestroyView():Fragment的视图已经被销毁,但与Activity的关联未销毁,仍然可以重新创建视图。...和ListView类似,要将数据适配到视图上进行展示需要使用适配器Adapter,不同的是RecyclerView的BaseAdapter已经将viewholder模式封装好了,而目前RecyclerView...,本项目中还是用最原始的ListView和RecyclerView的自带适配器。...3.3.6 适配器理念Adapter 如上所说,列表视图需要一个中间件:适配器,来将数据适配到布局上,这是一个从结构化的数据到结构化的视图的中间过程,纵观整个项目开发,可以发现有很多地方在使用这样的理念...,除了列表视图的适配器以外,装载Fragment的ViewPager的PagerAdapter也是同样使用了适配器的概念,使得ViewPager可以比较方便的管理多个Fragment,降低耦合。

    2.5K60

    Android MVVM框架搭建(四)RecyclerVIew + ViewPager2 + BaseQuickAdapter

    Android MVVM框架搭建(四)RecyclerVIew + ViewPager2 + BaseQuickAdapter 前言 正文 一、图片列表数据 二、新增访问地址和接口 三、访问接口 四、RecyclerView...显示数据 九、源码 前言   在日常的开发中,最常用于展示数据的形式就是列表,你会看到各种各样的列表,比如图片列表、视频列表,联系人列表,而在RecyclerView出来之前列表的开发是使用ListView...wallpaper表中的所有数据,然后赋值给实体,再通过postValue去发送数据,页面收到通知之后就会更新适配器。...因为ViewPager2可以在setAdapter时直接设置RecyclerView.Adapter,很方便,因此这里同样需要一个适配器,这里的适配器我不打算用原生的来写。 2....,然后请求壁纸数据,再监听页面的回调,然后在回调中设置适配器的数据。

    2.1K20

    Android MVVM框架搭建(四)RecyclerVIew + ViewPager2 + BaseQuickAdapter

    Android MVVM框架搭建(四)RecyclerVIew + ViewPager2 + BaseQuickAdapter 前言 正文 一、图片列表数据 二、新增访问地址和接口 三、访问接口 四、RecyclerView...显示数据 九、源码 前言   在日常的开发中,最常用于展示数据的形式就是列表,你会看到各种各样的列表,比如图片列表、视频列表,联系人列表,而在RecyclerView出来之前列表的开发是使用ListView...wallpaper表中的所有数据,然后赋值给实体,再通过postValue去发送数据,页面收到通知之后就会更新适配器。...因为ViewPager2可以在setAdapter时直接设置RecyclerView.Adapter,很方便,因此这里同样需要一个适配器,这里的适配器我不打算用原生的来写。 2....,然后请求壁纸数据,再监听页面的回调,然后在回调中设置适配器的数据。

    2.8K10

    Android实战经验之如何通过调整RecyclerView的缓存来优化滚动性能

    在 RecyclerView 中,setMaxRecycledViews 方法用于设置 RecycledViewPool 的缓存大小,这是一个重要的性能优化手段。...RecycledViewPool 允许多个 RecyclerView 实例共享一个公共的缓存池,这在有多个 RecyclerView 使用相同视图类型的适配器时非常有用,比如在使用 ViewPager...相反,如果你知道屏幕上同时会有多个相同类型的 ViewHolder,增加池大小可以减少需要重新绑定数据的次数,从而提高滚动性能。...此外,如果你在使用多个 RecyclerView 并且它们共享相同的适配器,可以通过 setRecycledViewPool 方法来共享一个 RecycledViewPool 实例,这样可以更高效地重用...时,另一个 RecyclerView 可以立即重用这些 ViewHolder,而不需要重新创建和绑定数据。

    17110

    ViewPager 2 使用讲解「建议收藏」

    一、效果 二、介绍必要基础知识 1、ViewPager 与 ViewPager2 部分对比 ViewPager ViewPager 2 PagerAdapter RecyclerView.Adapter...:recyclerview:1.1.0' // ViewPager 2 需要使用 RecycleView 的 adapter 2、实现横向滑动效果 1)、实现效果 2)、代码实现 a、 布局 Activity...,因为 ViewPager 2 底层使用 RecycleView 实现的,所以这里不再使用 PagerAdapter 而是使用了 RecyclerView.Adapter 这也是 引入RecycleView...this); viewPager2.setAdapter(adapter); } } Activity 内的代码就没什么不同了和之前一样的两步走,初始化控件,设置适配器。...item") + 1) + " 个页面"); super.onViewCreated(view, savedInstanceState); } } 这里有一个静态方法 来接收 传入的数据

    1.3K30

    嵌套滑动通用解决方案--NestedScrollingParent2

    京东首页 这是京东的首页,忽略顶部和顶部,大致理解视图结构就是:最外层为多布局的RecyclerView,最后一个item是tabLayout+ViewPager,ViewPager的每个fragment...京东首页 可见,在向上滑动页面时,当tabLayout滑动到顶部时,外层RecyclerView停止滑动,此时tabLayout即为吸顶状态,接着会 滑动ViewPager中的内层RecyclerView...作者最后建议使用RecyclerView多布局。 但其实在真实应用中,可能 头部 和 列表 的数据来自不同的接口,当列表的数据请求失败时要展示缺省图,但头部还是会展示。...:此时还获取不到ViewPager内fragment的RecyclerView,需要在加载ViewPager后 fragment可见时 传入 } private RecyclerView...套viewPager, viewPager内的fragment中 也有RecyclerView,处理外层、内层 RecyclerView的嵌套滑动问题,类似淘宝、京东首页。

    3.8K31
    领券