这周双休,周六在家把最近的Android 技术文章都过了一遍。

意外发现百度App 技术还挺活跃的,并且对外开源了一个非常实用的库。

就是现在比较流行的文章详情页,webview + recyclerview 混排的效果。

实际上可能更复杂,例如文章详情页从下到下如下排列:

WebView LinearLayout RecyclerView TextView RecyclerView

要做到跟用户交互过程中,效果像在一个滚动容器中,支持 fling 等操作,fling起来,有点你带我飞,我带你飞的感觉,到达边界时下一个控件就得立马联动

这个效果基本上在资讯客户端都会有,所以曾经在中午排队打饭的时候还跟同事聊过,当时对比了好几个资讯类客户端,当然我们体验方式比较苛刻,故意操作比较极限,当时的体验结果基本上所有的客户端都或多或少有些 bug,有些联动中断,有些到 webview fling 速度变得特别快,有的多指支持的不好,不过最终觉得百度App 做的还是很不错的。

没想到竟然开源了,我运行了一下,录了个效果图:

项目地址: https://github.com/baiduapp-tec/ELinkageScroll

大家可以学习下实现方式,也可以收藏以后备用。

当然了,刚才说了这么复杂的效果或多或少有些小问题,比如手百这个多指支持也有些小问题,但是整体上完全是够用的,毕竟经过自家产品上亿日活的检验。

具体实现有个核心知识点还是嵌套滚动,可以配置这篇文章一起学习:

Android多子view嵌套通用解决方案 https://juejin.im/post/5e5e1145f265da5741120b5a

此外之前也推送给一篇类似的解决方案,原理很类似,可以放一起学习,相信大家如果耐着性子学下来,**对于嵌套滚动,fling,甚至 webview 的一些滚动 API 都会了如指掌。 ** 大厂的文章详情页 WebView与 RecyclerView如何连贯滑动的?

最后感谢下百度 App 技术,最近的更新还是很实用的,求保持,拜了个拜!

推荐阅读:

给大家分享 3 个Android 问题

一篇技术文的产生!

唠点儿你不一定知道的Android小知识

扫一扫 关注我的公众号 如果你想要跟大家分享你的文章,欢迎投稿~

┏(^0^)┛明天见!