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

将onSwipe事件从嵌套的RecyclerView获取到父片段

onSwipe事件是一种手势事件,用于捕捉用户在屏幕上进行左右滑动的动作。它通常用于处理滑动菜单、图片浏览和轮播图等交互功能。在嵌套的RecyclerView中获取到父片段的onSwipe事件可以通过以下几个步骤实现:

  1. 在父片段的布局文件中,将RecyclerView嵌套在一个外层的ViewGroup中,例如LinearLayout或者RelativeLayout。
  2. 示例代码:
  3. 示例代码:
  4. 在父片段的Java代码中,获取到父布局的引用,并为其设置OnTouchListener监听器。
  5. 示例代码:
  6. 示例代码:

通过以上步骤,你可以在父片段中获取到嵌套的RecyclerView的onSwipe事件,并根据滑动方向执行相应的业务逻辑。请注意,上述代码仅提供了一个基本的实现示例,你可以根据实际需求进行修改和扩展。

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

相关·内容

仿触手直播首页切换效果

源码截图中看到该类是一个静态抽象类,说明我们要使用时候,需要去实现该类了。...这里看似代码这么长,其实是在下拉时候,获取到nextView对应是屏幕上方item,也就是RecyclerView最后一个item,因为最后一个item是放在了屏幕上面;在上拉时候,获取到...上面的代码只是处理我们滑动,至于说松手处理还没说呢。这里也正好说下onSwipe什么时候触发。这里需要介绍一个方法: ?...,在松手时候就触发onSwipe方法 接下来看看onSwiped都做了些什么: ?...分析item排列: 这里就是ChuShouManager职责了,它负责把最后一个item放在屏幕上方,第一个item放在屏幕中,第二个item到倒数第二个item放在屏幕下方。

55020

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

当时没有给出demo,只有代码片段,可能导致阅读起来不很清晰,所以这篇就专门再来详细分析相关知识,给出通用嵌套滑动解决方案,且附上GitHubDemo。...开头提到博客中有说明: view事件分发机制 我们知道,当parent View拦截事件后,那同一事件序列事件会直接都给parent处理,子view不会接受事件了。...NestedScrolling(嵌套滑动)机制,简单说来就是:产生嵌套滑动子view,在滑动前,先询问 嵌套滑动对应view 是否优先处理 事件、以及消费多少事件,然后把消费后剩余部分 继续给到...,判断view是否接受嵌套滑动 * * @param child 嵌套滑动对应子类(因为嵌套滑动对于View不一定是一级就能找到,可能挑了两级...,判断view是否接受嵌套滑动 * * @param child 嵌套滑动对应子类(因为嵌套滑动对于View不一定是一级就能找到,可能挑了两级

3.6K31

嵌套滑动及NestedScroll

在此记录一下,备忘~ 学习嵌套滑动相关文章: 自定义View事件之进阶篇(一)-NestedScrolling(嵌套滑动)机制....分别看下淘宝、京东 外部RecyclerView(整个首页列表)、内部RecyclerView(底部tab中商品流列表) 嵌套滑动效果。 ? 在这里插入图片描述京东 VS 淘宝 ?...2、缺陷原因分析 原因分析:view事件分发机制 我们知道,当parent View拦截事件后,那同一事件序列事件会直接都给parent处理,子view不会接受事件了。...(这里不清楚可以参考View事件分发、滑动冲突--《Android开发艺术探索》阅读笔记——第三章part2) 解决方案:使用嵌套滑动,具体如下。...2、嵌套滑动布局实现原理 NestedScrollLayout2 extends FrameLayout implements NestedScrollingParent2 上面说了,实现==NestedScrollingParent2

1.5K20

RecyclerView嵌套滑动置顶 项目篇

都2021了,RecyclerView嵌套滑动置顶应该已经被说烂了吧,但是如果项目中真的需要一个这样结构应用到首页,想找到一个成熟方案并不容易。这篇文章给出是已稳定运行大半年嵌套滑动代码。...这应该是我找过最完善代码,然后应用到实际项目中发现还是有问题: 1.在华为设备上滑动子RecyclerView时会有跳动 2.RecyclerView下拉刷新使用是SmartRefreshLayout...有issues反应有卡顿 3.子RecyclerView加载更多需要处理 4.子RecyclerView嵌套横向RecyclerView滑动冲突问题 5.Android4.4惯性滑动崩溃问题 当然轮子不可能完美贴合项目的需求...时很容易触发parent.requestDisallowInterceptTouchEvent(false)事件丢给ParentRecyclerView,然后导致卡顿。...里item嵌套横向RecyclerView滑动冲突问题 这部分相对于嵌套置顶处理要简单多了: override fun dispatchTouchEvent(e: MotionEvent): Boolean

1.3K22

项目应用篇-RecyclerView嵌套滑动置顶效果实践~

都2021了,RecyclerView嵌套滑动置顶应该已经被说烂了吧,但是如果项目中真的需要一个这样结构应用到首页,想找到一个成熟方案并不容易。这篇文章给出是已稳定运行大半年嵌套滑动代码。...这应该是我找过最完善代码,然后应用到实际项目中发现还是有问题: 1.在华为设备上滑动子RecyclerView时会有跳动 2.RecyclerView下拉刷新使用是SmartRefreshLayout...有issues反应有卡顿 3.子RecyclerView加载更多需要处理 4.子RecyclerView嵌套横向RecyclerView滑动冲突问题 5.Android4.4惯性滑动崩溃问题 当然轮子不可能完美贴合项目的需求...时很容易触发parent.requestDisallowInterceptTouchEvent(false)事件丢给ParentRecyclerView,然后导致卡顿。...里item嵌套横向RecyclerView滑动冲突问题 这部分相对于嵌套置顶处理要简单多了: override fun dispatchTouchEvent(e: MotionEvent): Boolean

67110

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

这篇博客主要讲解一下几个问题 粗略地介绍一下View事件分发机制 解决事件滑动冲突思路及方法 ScrollView 里面嵌套ViewPager导致滑动冲突 ViewPager里面嵌套ViewPager...里面嵌套ViewPager ViewPager里面嵌套ViewPager ---- View 事件分发机制 这篇博客不打算详细讲解View事件分发机制,因为网上已经出现了一系列好 文章,我自己水平也有限...---- 解决事件滑动冲突思路及方法 常见三种情况 第一种情况,滑动方向不同 第二种情况,滑动方向相同 第三种情况,上述两种情况嵌套 解决思路 看了上面三种情况,我们知道他们共同特点是View...ViewPager导致滑动冲突 外部解决法 如上面所述, View ScrollView着手,重写 OnInterceptTouchEvent方法,在上下滑动时候拦截事件,在左右滑动时候不拦截事件...或者ListView,一般有一下几种实现方式 使用我们上述提高ScrollView里面嵌套ViewPager和RecyclerView,这种实现方式需要自己解决View滑动事件冲突,同时还有我在上述提高

64110

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

解决事件滑动冲突思路及方法 ScrollView 里面嵌套ViewPager导致滑动冲突 ViewPager里面嵌套ViewPager 导致滑动冲突 轮播图几种实现方式 文章首发地址CSDN:...(true),这个方法能够影响View是否拦截事件,true 表示 View 不拦截事件,false 表示 View 拦截事件 下面引用图解 Android 事件分发机制这一篇博客内容 ?...ViewPager导致滑动冲突 外部解决法 如上面所述, View ScrollView着手,重写 OnInterceptTouchEvent方法,在上下滑动时候拦截事件,在左右滑动时候不拦截事件...对于这种效果,上面是轮播图,下面是RecyclerView或者ListView,一般有一下几种实现方式 - 使用我们上述提高ScrollView里面嵌套ViewPager和RecyclerView...题外话 在这篇博客最后提高实现轮播图+list列表几种实现形式,刚开始是不想写,后面因为ScrollView里面嵌套ViewPager和RecyclerView在fragment中RecyclerView

5.7K51

RecyclerView嵌套RecyclerView完美实现京东tab吸顶效果

google设计很好看,不过像电商之类App, 头部复杂程度远超想象,也许就遇到一个AppBarLayout不好支持效果 RecyclerView嵌套RecyclerView,加上事件分发...想要实现一次事件(down&move*n&up)一开始由parent消耗,然后由child消耗,事件分发机制就做不到了 RecyclerView嵌套RecyclerView,加上嵌套滚动(NestedScrollChild...&NestedScrollParent) 基于嵌套滚动机制,RecyclerView$onTouchEvent处理事件流程是: ---------------- scroll ----------...----- 1、类是否消耗scroll事件 dispatchNestedPreScroll() 2、自己消耗 scrollByInternal() 3、类消耗 dispatchNestedScroll...(),在询问类之前, 先尝试把事件分发给内部RecyclerView 源码 一切不放源码分享都是耍流氓 https://github.com/FangMessi/nested_scroll_demo

2.7K20

RecyclerView必知必会

Demo6: RecyclerView实现万能适配器,瀑布流布局,嵌套滑动机制。...在runPendingAnimations()中,animateAddImpl()是执行add动画具体方法,其实就是itemView透明度0变到1(在animateAdd()中已经view透明度变为...,该方法内部调用了makeAndAddView(),实现如下: 其中,getActiveView()是mActiveViews中获取合适View,如果获取到了,则直接返回,而不调用obtainView...(),这也印证了如果mActiveViews获取到了可复用View,则不需要调用getView()。...嵌套滑动机制 Android 5.0推出了嵌套滑动机制,在之前,一旦子View处理了触摸事件View就没有机会再处理这次触摸事件,而嵌套滑动机制解决了这个问题,能够实现如下效果: 为了支持嵌套滑动

4.7K20

RecyclerView 必知必会

Demo6: RecyclerView实现万能适配器,瀑布流布局,嵌套滑动机制。...在runPendingAnimations()中,animateAddImpl()是执行add动画具体方法,其实就是itemView透明度0变到1(在animateAdd()中已经view透明度变为...其中,getActiveView()是mActiveViews中获取合适View,如果获取到了,则直接返回,而不调用obtainView(),这也印证了如果mActiveViews获取到了可复用...嵌套滑动机制 Android 5.0推出了嵌套滑动机制,在之前,一旦子View处理了触摸事件View就没有机会再处理这次触摸事件,而嵌套滑动机制解决了这个问题,能够实现如下效果: ?...为了支持嵌套滑动,子View必须实现NestedScrollingChild接口,View必须实现NestedScrollingParent接口,而RecyclerView实现了NestedScrollingChild

4.1K90

Android 开发到读懂源码 第02期:NestScroll 机制源码解析

1 何为嵌套滑动 首先我们来看一看嵌套滑动效果,上面是 TopView (一般是banner类),下面是 RecyclerView,当 recyclerView 向上滑动时,topView 跟随往上滑动至隐藏后吸顶固定... view,如果存在切 view 需要处理 * 嵌套滑动则返回 true */ boolean startNestedScroll(@ScrollAxis... view */ boolean hasNestedScrollingParent(@NestedScrollType int type); /** * 嵌套滑动后事件分发...view parent,向上递归查找到实现了 NestScrollParent view * @param target 产生滑动事件 view * @param axes...View child = mView;// 当前 recyclerView // 遍历查找 ViewParent,看是否存在需要消费事件 NestScrollParent

77630

RecyclerView 必知必会

Demo6: RecyclerView实现万能适配器,瀑布流布局,嵌套滑动机制。...在runPendingAnimations()中,animateAddImpl()是执行add动画具体方法,其实就是itemView透明度0变到1(在animateAdd()中已经view透明度变为...其中,getActiveView()是mActiveViews中获取合适View,如果获取到了,则直接返回,而不调用obtainView(),这也印证了如果mActiveViews获取到了可复用...嵌套滑动机制 Android 5.0推出了嵌套滑动机制,在之前,一旦子View处理了触摸事件View就没有机会再处理这次触摸事件,而嵌套滑动机制解决了这个问题,能够实现如下效果: ?...为了支持嵌套滑动,子View必须实现NestedScrollingChild接口,View必须实现NestedScrollingParent接口,而RecyclerView实现了NestedScrollingChild

2.5K70

Android--RecyclerView嵌套RecyclerView优化

我们在使用RecyclerView嵌套RecyclerView时,会觉得卡顿,操作不是很顺畅 RecyclerView嵌套RecyclerView滑动.gif 在这个现象中,我们想要水平滑动时,却竖直滑动了...,RecyclerView中只做了距离判断,只要滑动距离大于系统默认滑动距离阈值,则本身进行滑动,这就导致了为什么我们水平滑动时候,子RecyclerView接收不到Touch事件原因,我们针对这点进行优化...拦截事件 RecyclerView嵌套RecyclerView滑动2.gif 这时,发现了另一个问题,当子RecyclerView快速滑动,还没有停止滚动时,我们去竖直滑动,发现RecyclerView...事件,一般被子类调用getParent.requestDisallowInterceptTouchEvent(true) * 比如快速水平滑动子view时候,这时我们想去竖直滑动类,因为快速滑动有一个速度...嵌套RecyclerView滑动3.gif

1.8K20

RecyclerViewNestedScroll实现

ACTION_MOVE: 调用dispatchNestedPreScroll嵌套滑动事件View,询问View需要消费多少距离,其中就会回调ViewonNestedPreScroll...接着调用dispatchNestedScroll已经消费距离与未消费距离回调给View,是否View要对当前View进行移动 当手指离开屏幕时,触发onInterceptTouchEvent...触发ACTION_UP: 调用stopNestedScroll停止事件告诉View NestedScroll实现 当手指触摸到RecyclerView时,根据Touch事件传递,会触发onInterceptTouchEvent...: 计算当前与ACTION_DOWN之间移动距离,也就是dx,dy 调用dispatchNestedPreScroll嵌套滑动事件Pre-Scrolling分发给View,并且判断View...onNestedScroll已经消费距离与未消费距离传入 在View中回调函数中可以操作RecyclerView进行移动 移动完后得到与移动前偏移差,返回给scrollByInternal进行滑动距离计算

1.1K20

聊聊Android嵌套滑动

但是这样解决方法有几个弊端: 代码复杂,难以维护 事件分发机制中子view消耗了事件没有办法通知View,这样实现效果非常突兀,难以达到预期 于是 Android 在 5.0 之后除了一系列嵌套滑动支持组件...RecyclerView 为例: 嵌套滑动我们最先接触到可能就是 NestedScrollView 这个控件了,那么它是怎么支持嵌套滑动呢?...我们仍然touch事件处理流程开始看: 在它 onInterceptTouchEvent 中,当手势是 MOVE 时候, 如果是垂直方向滑动并且达到滑动定义距离,就开始执行滑动: 当手势是...,让布局不要拦截事件, 当 mIsBegingDragged 为true时候,分发嵌套预滚动事件。...,那么直接返回false,也就是布局不去处理嵌套滑动事件

1.3K10

Android NestedScrolling嵌套滚动示例代码

Android在Lollipop版本中引入了NestedScrolling——嵌套滚动机制。在Android事件处理机制中,事件序列只能由View和子View中一个处理。...在嵌套滚动机制中,子View处理事件前会将事件传给View处理,两者协作配合处理事件。...Lollipop起View都已经实现了NestedScrollingChild方法。嵌套滚动过程如下: 开始滚动前,子View调用startNestedScroll方法。...如果返回true,则表示View愿意接收后续滚动事件,此时ViewonNestedScrollAccepted会被调用。该方法一般是在子View处理DOWN事件时调用。...向上查找愿意接收嵌套滚动事件View,如果找到了则调用ViewonNestedScrollAccepted方法。

81020

AndroidNestedScroll机制

Android Touch事件传递 Activity接收Touch事件回调onTouchEvent,并且Touch事件分发给DecorView DecorView接收到Touch事件后,调用dispatchTouchEvent...: 一个View把Touch事件消费之后,其他View就无法接收到该事件,也就无法根据这个事件完成与用户交互 比如:有一个RecyclerView上有一张图和一个按钮,当ListView滑动时候...,希望这张图先往上平移直至移出屏幕,RecyclerView才能开始滑动,并且在滑动时,按钮可以随着滑动距离进行Scale变化 实现NestedScroll 希望支持嵌套滑动操作子ViewViewGroup...而View调用嵌套滑动功能都需要通过ViewGroupCompat或者ViewParentCompat来兼容5.0以下以及以上系统。...对象,接口中函数均用Helper对象进行代理 View实现NestedScrollingParent接口,并且在内部初始化一个NestedScrollingParentHelper对象,接口中函数均用

1.4K30
领券