Skip to content

基于RecyclerView,实现业务侧的数据与Item布局即可(包括广告view)。无需关心阅读器动画与Item 动画渲染的交互。(不包含文字的处理,以后应该也不会添加)

License

Notifications You must be signed in to change notification settings

danatechgithub4/BookViewProject

This branch is 10 commits behind Western-parotia/BookViewProject:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

73f6c4b · Apr 9, 2023

History

30 Commits
Apr 9, 2023
Apr 9, 2023
Apr 7, 2023
Apr 9, 2023
Apr 7, 2023
Apr 7, 2023
Apr 7, 2023
Apr 7, 2023
Apr 9, 2023
Apr 7, 2023
Apr 7, 2023
Apr 7, 2023
Apr 7, 2023
Apr 7, 2023
Apr 7, 2023
Apr 7, 2023

Repository files navigation

介绍

simple_view

  • app module:完整的阅读器demo
  • gpu_test module:上图纯色demo,作为独立的仿真动画实现最小demo,就一个类,包含完整的仿真动画算法与标点

提供一种阅读器的实现思路,基于RecyclerView,只需将PaperLayout作为Item根布局即可。

采用木偶View将渲染, Paper页面布局、事件、动画完全分离。PaperLayout继承成自LinearLayout, 支持放入图片,视频等元素,但完全无需关心翻页动画的渲染。(不包含文字的处理,以后应该也不会添加)

Android-.2023-04-04.10.26.04.mp4

实现思路介绍

核心类就4个,它们的职责跟它们的名字很相近。

  • BookView 摆放 RecyclerView 与 PuppetView
  • BookRecyclerView 作为底层容器,接受滑动事件,完成页面更换,接管无动画的事件
  • PaperLayout 作为页面卡片根布局,也就是设置给 RecyclerView.Adapter 加载的布局,接管仿真动画与覆盖动画的事件
  • PuppetView 本身不处理任何事件,只是展示动画

手绘一张图,呈现实现原理

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

BookView

About

基于RecyclerView,实现业务侧的数据与Item布局即可(包括广告view)。无需关心阅读器动画与Item 动画渲染的交互。(不包含文字的处理,以后应该也不会添加)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 81.6%
  • Kotlin 18.4%