MCPcopy Index your code
hub / github.com/REBOOTERS/AndroidAnimationExercise

github.com/REBOOTERS/AndroidAnimationExercise @v5.0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v5.0.2 ↗ · + Follow
5,775 symbols 15,288 edges 683 files 1,229 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AndroidAnimationExercise

Alt

Android CILanguage

这是一个关于Android中各种View的集合,里面包含自己日常开发和博客总结中的代码。 主要内容是Android动画、Android自定义View 相关的知识包含一些常见应用中动画效果的模仿实例. 随着时间的推移,里面积累的很多代码,大致用5个Fragment 做了分类:

Apk 下载体验

扫一扫体验

打开

扫一扫体验

ImitateFragment (模仿三方应用特效)

TraditionFragment (传统动画)

  • 传统动画即帧动画和补间动画相关的代码
  • Blur Android 实现毛玻璃效果的demo
  • Activity 切换动画
  • ViewPager 切换动画

PropertyFragment  (属性动画)

  • 属性动画特点及使用方式
  • 仿支付宝支付动画(具体分析可查看日志Android 动画实战
  • 仿饿了吗商品加入购物车动画
  • Viewgroup 动画(官方demo)
  • Reveal Animation

关于以上两种动画的区别分析可查看日志Android 动画总结

ViewsFragment (自定义View先关)

OtherFragment (其他杂项)

  • Android 截屏后保存图片至手机相册
  • 拼图游戏(继承自RelativeLayout的动画效果,来自鸿洋大神)
  • Android WebView 中 Java于JavaScript 互相调用
  • Android 打开Camera或从相册选取照片,如何正确压缩图片,确保不发生OOM (Android Bitmap 初探
  • Bottom Action Sheet 菜单
  • Bitmap LRUCache,LruDiskCache 相关

What's New

Compose

随着累计的动画效果越来越多,导致工程内代码越来越多,app 运行和编译时间变长。因此采用了组件化的方式,单独抽取了 imitate moulde .

imitate 内的内容全部由 kotlin 语言实现,后续所有内容都会往这个里写,app这个module只作为以往的积累,尽量不再更改。 本着组件化的思想,imitate 可以作为 app 的依赖组件,也可以单独运行,修改 gradle.properties 中的配置信息即可。

在组件化的过程中,使用 ARouter 非常方便。完全解决了页面跳转的问题。

Android 构建流程 Gradle 的学习和 Gradle 插件自定义

  • 由于 AGP 8.0 开始 Gradle 官方移除了 Transform API,因此这部分内容已经不适用于 AGP 8.0 以上版本。 main 分支已删除这部分代码,使用 AGP 8.0 以下版本仍然可以用 master 分支进行编译和学习
  • 对于这部分的功能,将通过新的 API 尝试在 main 分支继续实现

在 buildSrc 内包含一些关于 gradle 构建流程的自定义内容,包括

  • 实现生成 apk 根据 flavor 改名。
  • 对构建流程中执行的 task 按执行时长打印,发现编译耗时的 task
  • 在构建流程中对特定注解的方法或类进行耗时检测。
  • 对代码中点击事件的插桩埋点
  • 通过配置对三方库中的代码进行特定的插桩,实现特定的功能。

以下是部分内容截屏动画

仿懂球帝APP我是教练游戏效果

galaxy 效果 && gif 反转

skeleton && bitmap mesh 效果

parallax 效果 && 2048 游戏(pure web)

仿懂球帝球员数据网状图 && 仿简书生成长图文章效果

仿知乎广告效果动画 && pure 3D animation view

AD Animation

动图理解scrollTo & translate 区别

更多动画,点击打开

仿QQ侧滑菜单效果

波浪动画

简易时钟效果

物理动画 & Lottie Animation

帧动画 & 补间动画

仿探探效果 & 约束布局(ConstraintLayout AnimationSet) 动画

支付效果 & loading

属性动画实例

一些系统信息

Star History Chart

diagram

Extension points exported contracts — how you extend this code

Event (Interface)
The event that is invoked from the low levels of this game (like engine) and not from the ui. @author sromku [13 implementers]
subs/game/src/main/java/com/snatik/matches/events/Event.java
SkeletonScreen (Interface)
Created by ethanhua on 2017/7/29. [8 implementers]
subs/skeleton/src/main/java/com/ethanhua/skeleton/SkeletonScreen.java
PageTransformer (Interface)
(no doc) [8 implementers]
imitate/src/main/java/com/engineer/imitate/ui/widget/opensource/InfiniteBannerView.java
Badger (Interface)
(no doc) [26 implementers]
app/src/main/java/home/smart/fly/animations/widget/clearbadge/Badger.java
ActivityDao (Interface)
@authro: Rookie @since: 2019-06-04
subs/dataview/src/main/java/com/engineer/dateview/dao/ActivityDao.java
ResultCallback (Interface)
(no doc)
subs/cpp_native/src/main/java/com/example/cpp_native/internal/NativeHouse.java
TrackParam (Interface)
(no doc)
buildSrc/src/main/kotlin/com/engineer/plugin/transforms/track/TrackClassVisitorFactory.kt
EventObserver (Interface)
(no doc) [6 implementers]
subs/game/src/main/java/com/snatik/matches/events/EventObserver.java

Core symbols most depended-on inside this repo

e
called by 467
imitate/src/main/java/com/engineer/imitate/ui/fragments/di/DaggerPlayground.kt
n
called by 329
subs/game/src/main/assets/square/static/js/app.870b44035107d02070ec.js
n
called by 267
subs/game/src/main/assets/schulte/js/chunk-vendors.05af8bc6.js
setOnClickListener
called by 256
imitate/src/main/java/com/engineer/imitate/ui/widget/opensource/text/SelectableTextView.java
get
called by 249
subs/gif-revert/src/main/java/com/engineer/gif/revert/lib/AnimatedGIFWriter.java
n
called by 203
subs/game/src/main/assets/square/static/js/vendor.66c8ac3f43782ce33066.js
o
called by 180
subs/game/src/main/assets/schulte/js/chunk-vendors.05af8bc6.js
r
called by 174
subs/game/src/main/assets/square/static/js/vendor.66c8ac3f43782ce33066.js

Shape

Method 4,046
Function 831
Class 806
Interface 83
Enum 9

Languages

Java64%
Kotlin23%
TypeScript12%
C1%
C++1%

Modules by API surface

subs/game/src/main/assets/square/static/js/vendor.66c8ac3f43782ce33066.js317 symbols
subs/game/src/main/assets/schulte/js/chunk-vendors.05af8bc6.js283 symbols
app/src/main/java/home/smart/fly/animations/widget/NestedScrollView.java103 symbols
imitate/src/main/java/com/engineer/imitate/ui/list/layoutmanager/FocusLayoutManager.java86 symbols
app/src/main/java/home/smart/fly/animations/customview/gallery/TouchImageView.java81 symbols
imitate/src/main/java/com/engineer/imitate/shell/Shell.java80 symbols
app/src/main/java/home/smart/fly/animations/widget/slidepanel/SlidingUpPanelLayout.java78 symbols
imitate/src/main/java/com/engineer/imitate/ui/widget/opensource/InfiniteBannerView.java74 symbols
app/src/main/java/home/smart/fly/animations/customview/flipview/FlipView.java69 symbols
subs/gif-revert/src/main/java/com/engineer/gif/revert/lib/AnimatedGIFWriter.java65 symbols
app/src/main/java/home/smart/fly/animations/widget/slidepanel/ViewDragHelper.java61 symbols
imitate/src/main/java/com/engineer/imitate/util/Utils.java51 symbols

For agents

$ claude mcp add AndroidAnimationExercise \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact