랭킹으로 돌아가기

REBOOTERS/AndroidAnimationExercise

Java

Android 动画各种实现,包括帧动画、补间动画和属性动画的总结分享

androidanimationbitmapviewviewpagergradle-pluginimitategradlegradle-scriptgradle-plugin-developmentandroid-viewasm
스타 성장
스타
2.1k
포크
365
주간 성장
이슈
5
2.1k
7월 18일7월 19일7월 21일7월 22일
아티팩트Mavengit clone https://github.com/REBOOTERS/AndroidAnimationExercise.git
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

관련 저장소
flutter/flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond

DartBSD 3-Clause "New" or "Revised" Licensemobileandroid
flutter.dev
177.9k30.7k
Genymobile/scrcpy

Display and control your Android device

CApache License 2.0androidc
146.1k13.5k
react/react-native

A framework for building native applications using React

C++MIT Licenseandroidapp-framework
reactnative.dev
126.2k25.2k
facebook/react-native

A framework for building native applications using React

C++MIT Licenseandroidapp-framework
reactnative.dev
120.9k24.5k
rustdesk/rustdesk

An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

Rustcrates.ioGNU Affero General Public License v3.0remote-controlremote-desktop
rustdesk.com
118.6k18.1k
justjavac/free-programming-books-zh_CN

:books: 免费的计算机编程类中文书籍,欢迎投稿

GNU General Public License v3.0pythonjavascript
weibo.com/justjavac
117.7k28.2k
Hack-with-Github/Awesome-Hacking

A collection of various awesome lists for hackers, pentesters and security researchers

Creative Commons Zero v1.0 Universalhackingsecurity
116.6k10.5k
tldr-pages/tldr

Collaborative cheatsheets for console commands 📚.

MarkdownOthershellman-page
tldr.sh
63.2k5.3k
Solido/awesome-flutter

An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.

Dartflutterawesome-list
60.7k6.9k
2dust/v2rayNG

A V2Ray client for Android, support Xray core and v2fly core

KotlinGNU General Public License v3.0androidproxy
v2rayng.2dust.link
59.9k7.8k
termux/termux-app

Termux - a terminal emulator application for Android OS extendible by variety of packages.

JavaMavenOtherandroidterminal
f-droid.org/en/packages/com.termux
57.9k7k
wasabeef/awesome-android-ui

A curated list of awesome Android UI/UX libraries

MIT Licenseandroidawesome
56.9k10.3k