Awesome Open Source
Awesome Open Source

AndroidAnimationExercise

Alt

Build Status

这是一个关于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

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

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

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

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

在 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

属性动画实例

一些系统信息

diagram

Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Java (403,973
Animation (17,734
Gradle (13,045
Apk (5,006
Qq (4,961
Bitmap (3,449
Coroutine (3,275
Asm (1,793
Gradle Plugin (1,694
Viewpager (1,309
Jetpack Android (323
Coroutines Android (268
Searchview (182
Motionlayout (67
Imitate (5
Gradle Plugin Development (5
Gradle Script (3