Android NestedScrollView滚动到顶部固定子View悬停挂靠粘在顶端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android NestedScrollView滚动到顶部固定子View悬停挂靠粘在顶端相关的知识,希望对你有一定的参考价值。

参考技术A RecyclerView分组悬浮列表

https://www.jianshu.com/p/1558cbd20d17

推荐,个人感觉这个很好用

https://blog.csdn.net/zhangphil/article/details/80702949

这个也可以

https://github.com/donkingliang/GroupedRecyclerViewAdapter

Android高级ui13-nestedscrollview嵌套滚动机制

参考技术A 学习笔记,整理中;

面:

android.overridePathCheck = true

自己思路整理:

1、MyNestedScrollChildLextends LinearLayoutimplements NestedScrollingChild

onTouchEvent主要处理此方法,在action_down中 startNestedScroll开始找寻父级的嵌套滚动view; 在action_move中dispatchNestedPreScroll 先分发给父级消费,返回true父级消费完再回来。如果需要二次问询则不要pre,还是先问再回来;action_up处理stopNestedScroll  以及fling 惯性滚动,逻辑类似

2、MyNestedScrollParentLextends LinearLayoutimplements NestedScrollingParent

onNestedPreScroll主要处理此方法,注意要处理消费和滚动,并且过度滚动情况

3、NestedScrollingParentHelper helper --里面已处理大部分情况

---------------------------------------------------------------------------------------------------------

摘要:

嵌套滑动机制

NestedScrollView  属于MD控件

分析嵌套滑动机制 原理

事件序列

down -> ..... move  -> up/cancel

1. view down没有消费,那么后续的move  没办法再接收到了

分发

activity -> viewgroup -> view

消费

view -> viewgroup -> activity

嵌套滑动

> mTouchslop 最小滑动距离

canScrollVertically(-1) <0

scrollBy 移动屏幕

传统的事件冲突解决方案

OverScroller

为什么需要

嵌套滑动机制 并没有改变事件分发机制

NestedScrollingParentLayout extends LinearLayout implements NestedScrollingParent

NestedScrollingParent接口 可滑动的viewgroup 充当父view

NestedScrollingChild接口                    充当子view

孔融让梨

1.  -》 父亲  dispatchNestedPreScroll

            1. 全部吃了

2. 咬一口  还要剩余

2. 孔融再吃

            1. 全部吃完

            2. 咬两口  还要剩余

-》  父亲 dispatchNestedScroll

          1. 全部吃了

  2. 又咬一口  还要剩余

2. 孔融再吃2 

            1. 全部吃完

int type 事件类型:

        touch

        fling

NestedScrollView

1. 梳理了事件分发机制

2. 为什么需要嵌套滑动机制 解决传统事件滑动机制的bug

3. 介绍了NestedScrollingParent NestedScrollingChild

NestedScrollingChildHelper

NestedScrollingParentHelper

内容:

以上是关于Android NestedScrollView滚动到顶部固定子View悬停挂靠粘在顶端的主要内容,如果未能解决你的问题,请参考以下文章

Android:ScrollView 与 NestedScrollView

Android之解决NestedScrollView嵌套RecyclerView部分手机返回到这个页面Recyclerview顶部,而不是页面NestedScrollView顶部

Android之解决NestedScrollView嵌套RecyclerView部分手机返回到这个页面Recyclerview顶部,而不是页面NestedScrollView顶部

如何在Android中设置NestedScrollView的最大高度?

Android - 包含 ExpandableListView 的 NestedScrollView 在展开时不会滚动

Android:TextInputLayout 不适合页面并阻止页面在 NestedScrollView 内滚动