Spark - 创建类似于 Instagram&Spotify App 的登录界面的动态渐变背景
https://github.com/TonnyL/Spark
截图
用法
private lateinit var mSpark: Spark
override fun onCreate(savedInstanceState: Bundle?) {
// ...
mSpark = Spark.Builder()
.setView(frameLayout) // View or view group
.setDuration(4000)
.setAnimList(Spark.ANIM_GREEN_PURPLE)
.build()
}
override fun onResume() {
// ...
mSpark.startAnimation()
}
override fun onPause() {
// ...
mSpark.stopAnimation()
}
安装
Gradle
- 将下面的代码添加到根 build.gradle 文件中:
repositories {
maven { url "https://jitpack.io" }
}
- 将下面的代码添加到 module 的 build.gradle 文件中:
dependencies {
implementation 'io.github.tonnyl:spark:x.y.z'
}
Maven
<dependency>
<groupId>io.github.tonnyl</groupId>
<artifactId>spark</artifactId>
<version>x.y.z</version>
<type>pom</type>
</dependency>
自定义渐变色列表
创建渐变 drawable
purple_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:centerColor="#e459aa"
android:endColor="#cd7be6"
android:startColor="#f14589"
android:type="linear" />
<corners android:radius="0dp" />
</shape>
yellow_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:centerColor="#F4A37B"
android:endColor="#F08875"
android:startColor="#F9CB87"
android:type="linear"/>
<corners android:radius="0dp" />
</shape>
创建动画列表
custom_anim_list.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/yellow_drawable"
android:duration="4500" />
<item
android:drawable="@drawable/purple_drawable"
android:duration="4500" />
</animation-list>
应用动画列表
mSpark = Spark.Builder()
// ...
.setAnimList(R.drawable.custom_anim_list) // Your custom animation
// ...
致谢
Designed by Alexander Zaytsev.
许可证
MIT
Tonny的开发之路
talk is cheap, show me the code.
228 声望
14 粉丝
推荐阅读
探索 Android Design Support Library v28 新增内容
Android Support Library v28 版本最近被宣布推出 -- 在当前的 alpha 版本中, 我们又有了一系列令人兴奋的新组件. 在这篇文章中, 我想要看看以 Material 视图组件形式添加进入 Support Library 的新增部分.
Tonny赞 2阅读 3.4k
程序员英语学习指南
动机为什么程序员要学习英语?工作:我们每天接触的代码都是英文的、包括很多技术文档也是英文的学习:最新最前沿的技术最开始都是只有English版本就业:学好英语让你的就业范围扩大到全球,而不只限于国内目标读...
九旬赞 6阅读 618
安卓逆向之破解某成人APP播放次数限制
某成人水果APP非VIP用户存在播放次数限制,每天只能播放3次。超过3次需要购买VIP。 由于过于贫穷,于是抽空,对其安卓APP进行了逆向分析,最终成功破解了其播放次数限制。
悖论赞 3阅读 1.2k评论 3
这一次,解决Flutter Dialog的各种痛点!
4.0版本做了重大调整,迁移请参照: SmartDialog 3.x 迁移 4.0本文内容已更新,文中内容及其代码皆为4.0用法前言Q:你一生中闻过最臭的东西,是什么?A:我那早已腐烂的梦。兄弟萌!!!我又来了!这次,我能自信...
小呆呆666赞 1阅读 3.4k
uni-app中安卓包检查更新、新版本下载、下载进度条显示功能实现
如果想要做一个app的话,可以有很多种选择方案,uni-app是其中的一个性价比高一些(坑多一些)的方案。本文记录一下,uni-app打安卓包以后,需要检查并下载更新,且显示进度条的功能。
水冗水孚赞 2阅读 729
Flutter 让你的Dialog脱胎换骨吧!(Attach,Dialog,Loading,Toast)
4.0版本做了重大调整,迁移请参照: SmartDialog 3.x 迁移 4.0本文内容已更新,文中内容及其代码皆为4.0用法前言Q:你一生中闻过最臭的东西,是什么?A:我那早已腐烂的梦。兄弟萌!!!我又来了!这次,我能自信...
小呆呆666赞 2阅读 2.3k
2022 年终总结|致敬即将过去的,匆忙而又虐心的一年...
本文参与了 SegmentFault 思否年度征文「一名技术人的 2022」,欢迎正在阅读的你也加入。 时间,总是过的这么快,快得让人猝不及防,眨眼又是一年的末...似乎儿时的文章中,对于时间的流逝,描述的最多的便是:白...
贺biubiu赞 1阅读 1.3k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。