☰
第174篇 NestedScrollView 与 CoordinatorLayout:联动滚动机制
2026/10/15 6:17:04 网站建设 项目流程

先把结论放在前面:CoordinatorLayout 与 NestedScrollView 是一套协议的两端——CoordinatorLayout 实现NestedScrollingParent,NestedScrollView 实现NestedScrollingChild,两者通过"滚动量先问父级、父级消费一部分、把剩余量回传子级"的协商机制实现联动。会用AppBarLayout + CollapsingToolbarLayout只是会用;能讲清这套"协商式"协议与传统的"拦截式"事件分发有何不同,才是这题要答的。

这题的区分度在于机制层:面试官问"为什么 AppBarLayout 能折叠",答"因为它监听了滚动事件"是不及格的;答"因为子容器把 dy 交给父级先消费,父级折叠完成后把未消费的部分还给子级继续滚",才是机制层的答案。

协商式滚动 vs 拦截式事件分发

这是本篇最核心的一组对比:

维度传统事件分发(onInterceptTouchEvent)嵌套滚动(NestedScrolling)
协作方式父容器抢占事件,可中断子容器父容器受邀

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询