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

水平RecylcerView inside RecyclerView vs ViewPager inside RecyclerView

是关于在RecyclerView中嵌套水平RecyclerView和ViewPager的比较。

水平RecyclerView inside RecyclerView是指在一个垂直的RecyclerView中嵌套一个水平方向的RecyclerView。这种布局方式适用于需要在垂直列表中展示水平滚动的内容的场景。例如,在一个新闻应用中,每个新闻条目可以包含多个图片,这时可以使用水平RecyclerView来展示多个图片。

ViewPager inside RecyclerView是指在一个垂直的RecyclerView中嵌套一个ViewPager。ViewPager是一种可以左右滑动切换页面的控件,适用于需要在垂直列表中展示可滑动的页面的场景。例如,在一个电子书应用中,每个电子书条目可以包含多个章节,这时可以使用ViewPager来展示每个章节的内容。

对比两种布局方式,它们各有优势和适用场景。

水平RecyclerView inside RecyclerView的优势:

  1. 简单:实现起来相对简单,只需要使用水平方向的RecyclerView即可。
  2. 灵活性:可以自定义每个水平RecyclerView的布局和样式,适用于需要更多自定义的场景。
  3. 性能:相对于ViewPager,水平RecyclerView的性能更好,因为它不需要缓存多个页面。

水平RecyclerView inside RecyclerView的应用场景:

  1. 图片展示:适用于需要在垂直列表中展示多个图片的场景,如相册应用、新闻应用等。
  2. 横向列表:适用于需要在垂直列表中展示多个水平滚动的列表的场景,如商品分类、标签列表等。

ViewPager inside RecyclerView的优势:

  1. 多页面:可以展示多个页面,每个页面可以包含不同的内容。
  2. 滑动切换:用户可以左右滑动切换页面,提供更好的交互体验。
  3. 缓存:ViewPager会缓存当前页面及其相邻页面,提高了页面切换的性能。

ViewPager inside RecyclerView的应用场景:

  1. 电子书阅读:适用于需要在垂直列表中展示多个章节的电子书应用。
  2. 幻灯片展示:适用于需要在垂直列表中展示多个幻灯片的场景,如广告展示、演示文稿等。

对于水平RecyclerView inside RecyclerView,推荐使用腾讯云的云原生产品,如腾讯云容器服务(TKE),它提供了强大的容器编排和管理能力,可以帮助开发者快速部署和管理容器化的应用。详情请参考:腾讯云容器服务

对于ViewPager inside RecyclerView,推荐使用腾讯云的移动开发产品,如腾讯云移动推送(TPNS),它提供了稳定可靠的消息推送服务,可以帮助开发者实现消息的实时推送和展示。详情请参考:腾讯云移动推送

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

RecyclerView详解

在android滑动组件嵌套一般思路,多任务手势思路,触摸传递思路,【例】listview嵌套viewpager 中我介绍了ListView嵌套ViewPager显示图片的办法。...其实在Gallery弃用之后,RecyclerView出来之前,ViewPager和扩展ScrollView是StackOverFlow上推荐的实现Gallery的两种解决办法,但是都有一定的问题,ScrollView...顺着官方demo,我替换掉原来的ViewPager类,使用RecylcerView,改进有以下几点: ·使用过ViewPager动画的应该知道(有经典的ViewPager动画第三方扩展JazzyViewPager...也就是说,如果你简单地将ViewPager的每页显示数设置为你需要的值,之后设置的动画很可能并不是你需要的效果(因此之前我在嵌套时去掉了ViewPager的动画,稍微有点失望)。...·滑动速度加快,因为ViewPager并不是ViewsPager。。。一次长距离的滑动可能只造成1~2张图片的滚动,一点也不像gallery,这是我用RecylcerView替代它的主要原因。

1.3K100

终于来了:Android端个人中心页面滑动冲突优化方案

我通过综合分析发现,抖音用的是自定义 LinearLayout 的方式来布局 header + Viewpager + RecyclerView 的,进而通过拦截 LinearLayout 的 disptachTouchEvent...触发自身的滑动就是调用自己的 scrollBy(0,dy),注意 此时的事件还是会往下传递到 RecyclerView ,但是由于相对于 RecyclerView 自身来说滑动差值很小,视觉上可忽略。...出现问题时,用户的手先触发左右滑动,这时候由于 RecyclerView 父布局 ViewPager 中的一些临界判断没被触发,所以没拦截事件,事件还是到了 RecyclerView 中,此时如果再次上下滑动...那我们是不是可以在里面加个判断,除去真正的左右滑动逻辑(ViewPager事件),剩下的事件就是触发 RecylcerView 滑动的了(相当于过滤了横向的,留下的竖向的),我们再次判断外层的自定义 LinearLayout...站在巨人肩膀上,系统控件的处理一般都可以借鉴,源码之下,一切清晰,横向的可以参考 ViewPager 的事件拦截,竖向的可以参考 RecyclerView 的事件处理逻辑。

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

    正如RecyclerView横空出世取代ListView和GridView那样,Android也推出了二代翻页视图ViewPager2,打算替换原来的翻页视图ViewPager。...与ViewPager相比,ViewPager2支持更丰富的界面特效,包括但不限于下列几点: 1、不但支持水平方向翻页,还支持垂直方向翻页; 2、支持RecyclerView.Adapter,允许调用适配器对象的...其中ViewPager2.ORIENTATION_HORIZONTAL表示水平方向,ViewPager2.ORIENTATION_VERTICAL表示垂直方向。...'androidx.recyclerview:recyclerview:1.1.0'     implementation 'androidx.viewpager2:viewpager2:1.0.0'...先在测试页面的Java代码中补充下面几行:     // ViewPager2支持展示左右两页的部分区域     RecyclerView cv_content = (RecyclerView) vp2

    2.2K30

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

    京东首页 这是京东的首页,忽略顶部和顶部,大致理解视图结构就是:最外层为多布局的RecyclerView,最后一个item是tabLayout+ViewPagerViewPager的每个fragment...京东首页 可见,在向上滑动页面时,当tabLayout滑动到顶部时,外层RecyclerView停止滑动,此时tabLayout即为吸顶状态,接着会 滑动ViewPager中的内层RecyclerView...2.3 NestedScrollingParent2LayoutImpl3的实现原理 代码如下 /** * 处理RecyclerViewviewPagerviewPager内的fragment...:此时还获取不到ViewPager内fragment的RecyclerView,需要在加载ViewPager后 fragment可见时 传入 } private RecyclerView...套viewPagerviewPager内的fragment中 也有RecyclerView,处理外层、内层 RecyclerView的嵌套滑动问题,类似淘宝、京东首页。

    3.7K31

    使用 RecyclerView 实现 Gallery 画廊效果,并控制 Item 停留位置

    RecyclerView 作为一个列表滑动控件,我们都知道它既可以横向滑动,也可以竖直滑动,可以实现线性布局管理,瀑布流布局管理,还有 GridView 布局管理。...什么是 SnapHelper SnapHelper 的实现原理就是是监听 RecyclerView.OnFlingListener 中的 onFling 接口。...通过 LinearSnapHelper,我们就可以使 RecyclerView 实现类似 ViewPager 的功能,无论怎么滑动最终都会停留在列表页面正中间。...SnapHelper 和 ViewPager 的区别就是 ViewPager 一次只能滑动一页,而 RecyclerView + SnapHelper 的方式可以实现一次滑动好几页。...layoutManager, View targetView) { int[] out = new int[2]; //判断支持水平滚动,修改水平方向的位置,是修改的out[0]的值 if (layoutManager.canScrollHorizontally

    3.5K70

    android gallery当前view变大,GitHub – hutcwpGalleryViewDemo: 实现画廊效果(中间放大两边缩小)无限循环向左滑向右滑,Viewpager和Recycl

    :28.0.0’ 一个是ViewPager所在包,另一个是RecyclerView所在包 RecyclerView实现GalleryView效果可(伪无限)无限左滑右滑 先上效果图 要点: 在有限的数据里面...使用自定义 LayoutManager 实现 Android 中 Gallery 或者 ViewPager 控件的效果 美滋滋:-P 传送门在这里 支持垂直和水平两个方向,支持 RecycleView...的试图回收机制 在有限的数据里面,实现无限个Item 在RecyclerView.Adapter的方法中: @Override public int getItemCount() { return...在 ViewPager 的首尾多添加一个 View,监听 ViewPager 滚动事件,当滑到边界时,设置当前 position 为中间的某个 item,不过这种方式容易出现页面闪动导致滑动不连贯,...这是因为 ViewPager#setCurrentItem(item)是需要时间来完成测量及绘制的 mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener

    2.3K20

    仿抖音上下滑动分页视频

    目录介绍 01.先来看一下需求 02.有几种实现方式 2.1 使用ViewPager 2.2 使用RecyclerView 03.用ViewPager实现 3.1 自定义ViewPager 3.2 ViewPager...具体的滑动效果,可以直接参考抖音…… 02.有几种实现方式 2.1 使用ViewPager 使用ViewPager实现竖直方法上下切换视频分析 1.最近项目需求中有用到需要在ViewPager中播放视频...实现 4.1 自定义LayoutManager 自定义LayoutManager,并且继承LinearLayoutManager,这样就得到一个可以水平排向或者竖向排向的布局策略。...} this.mDrift = dy; return super.scrollVerticallyBy(dy, recycler, state); } /** * 监听水平方向的相对偏移量...接着,不管是在recyclerView还是ViewPager中,当页面处于不可见被销毁或者view被回收的阶段,这个时候需要把视频资源销毁,尽量视频播放功能封装起来,然后在页面不同状态调用方法即可。

    5.8K20

    Android ViewPager2 真的香么?

    Google 前段时间出了新品 ViewPager2,据说意在替代旧版 ViewPager,功能更强大使用更方便;真的这么香么,和尚尝试学习一下!...版本 ViewPager2 目前处于预览版,还没有合并到主分支,可能还会有一些隐藏小问题,建议大家先尝试一下; implementation 'androidx.viewpager2:viewpager2...尝试 和尚尝试绑定不同背景色和文字内容;与 ViewPager 不同的是,适配器需要使用 RecyclerView.Adapte,这也意味着绑定数据的方式更灵活,和尚为了测试 ViewPager2...新特性,设置了点击事件; 借助 setOrientation() 方法可以动态改变切换方向,水平或竖直; 借助 notifyDataSetChanged() 方法可以实时更新数据; 借助 setLayoutDirection...list.size() : 0; } class MyViewHolder extends RecyclerView.ViewHolder { LinearLayout

    2.1K31

    ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

    这篇博客主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌套ViewPager导致的滑动冲突 ViewPager里面嵌套ViewPager...ViewPager里面嵌套ViewPager ---- View的 事件分发机制 这篇博客不打算详细讲解View的事件分发机制,因为网上已经出现了一系列的好 文章,我自己的水平也有限,目前肯定写得不咋的...在上下滑动的时候拦截事件,在左右滑动的时候不拦截事件,返回 false,这样确保子View 的dispatchTouchEvent方法会被调用,代码 如下 /** * @ explain:这个ScrlloView不拦截水平滑动事件...或者ListView的,一般有一下几种实现方式 使用我们上述提高的ScrollView里面嵌套ViewPagerRecyclerView,这种实现方式需要自己解决View滑动事件的冲突,同时还有我在上述提高的在...题外话 在这篇博客的最后提高的实现轮播图+list列表的几种实现形式,刚开始是不想写的,后面因为ScrollView里面嵌套ViewPagerRecyclerView在fragment中RecyclerView

    65610

    ViewPager,ScrollView 嵌套ViewPager滑动冲突解决

    ViewPager里面嵌套ViewPager ?...---- View的 事件分发机制 这篇博客不打算详细讲解View的事件分发机制,因为网上已经出现了一系列的好 文章,我自己的水平也有限,目前肯定写得不咋的。...在上下滑动的时候拦截事件,在左右滑动的时候不拦截事件,返回 false,这样确保子View 的dispatchTouchEvent方法会被调用,代码 如下 /** * @ explain:这个ScrlloView不拦截水平滑动事件...对于这种效果,上面是轮播图的,下面是RecyclerView或者ListView的,一般有一下几种实现方式 - 使用我们上述提高的ScrollView里面嵌套ViewPagerRecyclerView...题外话 在这篇博客的最后提高的实现轮播图+list列表的几种实现形式,刚开始是不想写的,后面因为ScrollView里面嵌套ViewPagerRecyclerView在fragment中RecyclerView

    5.7K51

    Android Recyclerview实现水平分页GridView效果示例

    昨天UI妹子给了给需求,展示水平分页效果,而且第二页要默认显示一部分,提示用户水平可以滑动,先上效果图: ?...很明显横向滑动的分页,第一反应就是使用ViewPager,毕竟只要通过自定义ViewPager,实现这个效果还是很容易,但是实际中问题时,当前模块是Recyclerview中某一个Holder,为了性能...,肯定尽量使用Recyclerview去复用View,而且ViewPager并不能复用,所以考虑之后,还是要用Recyclerview去实现。...横向列表效果是实现了,但是并没有达到设计稿的要求,第二页要默认显示一部分,那么就要从水平方向上去思考解决问题,既然第二页要显示一部分,假如显示16dp,那么将第一页列表宽度减少右边距16dp,第二页就可以在第一页显示了...在Recyclerview的Adapter中,先上布局: <?xml version="1.0" encoding="utf-8"?

    1.8K10

    ItemTouchHelper 实现交互动画

    当用户拖拽或者滑动Item的时候需要我们告诉系统滑动或者拖拽的方向 * 动作标识分:dragFlags和swipeFlags * dragFlags:列表滚动方向的动作标识(如竖直列表就是上和下,水平列表就是左和右...) * wipeFlags:与列表滚动方向垂直的动作标识(如竖直列表就是左和右,水平列表就是上和下) * * 思路:如果你不想上下拖动,可以将 dragFlags = 0...srcPosition, targetPosition); } return false; } /** * 当item侧滑出去时触发(竖直列表是侧滑,水平列表是竖滑...控件滑动到顶部和底部 02.RecyclerView嵌套RecyclerView 条目自动上滚的Bug 03.ScrollView嵌套RecyclerView滑动冲突 04.ViewPager嵌套水平RecyclerView...横向滑动到底后不滑动ViewPager 05.RecyclerView嵌套RecyclerView的滑动冲突问题 06.RecyclerView使用Glide加载图片导致图片错乱问题解决 24.ScrollView

    3.9K20

    recyclerView 进阶知识

    请参照csdn上我的两篇: a android 5.0新特性 RecyclerView使用初级 b Group分组列表的实现 RecyclerView ,实现不同类型的item组合列表 二 进阶知识点...特殊的水平居中、左右两边缩放淡出的列表(Gallery画廊效果): 这里有几套方案, 1....自己实现 较难 (这里主要指复用和缓存及性能上问题) 2. viewPager 达不到快速滑动,只支持单页 3. recyclerView + 自定义的LayoutManager 居中显示还有些问题...5. recyclerViewPager 三方框架 左右view将中间的view裁剪掉了,这是和viewPager相似的问题,绘制Item的时候存在顺序,需要自己动态调试下 三 使用recyclerView...这里由于产品需要,recyclerView的item的高度为动态的wrap_content(建议不要使用,recyclerView由于得不到具体宽高,会多次调用getView方法),又要求recyclerView

    1.2K40
    领券