原文可观看视频:时隔2年终于开源了基于RecyclerView的阅读器计划

Tips:这是一次针对广告业务场景下阅读器动画完结计划的探究。

完结效果

时隔2年终于开源了基于RecyclerView的阅读器动画方案
项目地址:github:BookView

  • app module:完好的阅读器demo
  • gpu_test module:独立的仿真动画demo

手绘一张图,呈现完结原理

如果用文字来论述原理难免要长篇大论,何况这儿涉及到Z轴View堆叠,借此机会展现下我的绘画能力吧(瞎搞)

核心类就4个,它们的责任跟它们的姓名很附近。

  • BookView 摆放 BookRecyclerView 与PuppetView
  • BookRecyclerView 作为底层容器,接受滑动事情,完结页面替换与事情分配
  • PaperLayout 作为页面卡片根布局,也便是设置给RecyclerView.Adapter加载的布局
  • PuppetView 但自身不处理任何事情,仅仅展现动画
    时隔2年终于开源了基于RecyclerView的阅读器动画方案

这东西前后花了得有2周的时间,从0开发了仿真动画,涉及到一些三角函数,相似三角形还专门温习了初中的相关课程。RecycleView,LayoutManager也是那时候深化学习的。

写在终究

当时会下这么多功夫去开发这个阅读器,其真正的原因是我当时还担任阅读器+广告两个业务的产品设计。没错便是跟许多创业团队相同一人肩多职,也正是这份对产品的追求才推着我不断追求更好的产品体验,进而才有了更多的技能堆集。直到现在,偶然在团队人手严重时我还会担任一些产品设计作业。

许多时候会分不清面前的挑战是波折还是机遇,但只要沉下心去解决问题,结果就不会都是坏的。

我很喜欢的一句话「铁打的个人能力,流水的公司」用在这儿相当合适。

在2年前做阅读器产品时发过一篇文章:LayoutManager完结翻页动画 – ,目的是抛出一个解决计划的一起寻求不同的思路。一起在V2上发过一篇帖子:www.v2ex.com/t/694298#re…, 收集到了不同的创意。

2年前就有人跟我要完好demo,当时我也很想放出来,但出于职业素质维护公司利益没有这样做。可就在前两天有个的同学很真诚的再次跟我问询这个计划,妥妥的点燃了我回馈社区的心呀。现在那个项目垮了,公司也….。那我可没啥负担了,完好的开源出来,希望能协助一些与他相同碰到阻碍的人,相互生长。我一向也受到了许多社区协助,包含Google GDE,这算是我的一点回馈吧。

清理好后优先发给了他,晚上看到他给我反应的视频,还是蛮高兴的。

之前我有几次想要好好收拾下做个开源,但终究都搁置了。现在想想还是因为那时候纯粹是出于功利心吧。当时想着这东西还是有点门槛的,微信读书做到50fps,我做到40fps+还支持广告,放出来赚点star不是很轻松,可见虚荣对人的激励是很有限的。现在的我也更乐意做一些获取深度高兴的事情。