引言
谷歌在Android 12添加了SplashScreen API
,它可为所有应用启用新的应用启动动画。这包括启动时的进入应用运动、显示应用图标的启动画面,以及向应用本身的过渡。
启动画面的工作原理
当用户启动应用而应用的进程未运行冷启动
或 Activity 尚未创建温启动
时,会发生以下事件。(在热启动期间从不显示启动画面。)
系统使用主题以及您已定义的任何动画显示启动画面。
当应用准备就绪时,会关闭启动画面并显示应用。
实现
为了在安卓12以下的手机体验一致,需要使用Androidx SplashScreen compat
库进行向下兼容
1 | implementation 'androidx.core:core-splashscreen:1.0.0-beta01' |
创建一个父级为Theme.SplashScreen
的主题,并将postSplashScreenTheme
的值设为Activity
应使用的主题,同时将windowSplashScreenAnimatedIcon
设为可绘制对象或带动画的可绘制对象。其他属性可视需要进行设置。
1 | <style name="Theme.App.Starting" parent="Theme.SplashScreen"> |