Android 12 中的启动画面 API
Android 12 引入了 SplashScreen API,它允许所有应用程序使用新应用程序来启动动画。当您或用户启动应用程序时,它会启动。新体验将通用设计组件整合到每个应用程序启动中,但它也是可配置的,允许您的应用程序保留其独特的品牌。除了直接使用 SplashScreen API 之外,您还可以使用封装 SplashScreen API 的 SplashScreen 紧凑库。
启动画面的函数
当用户在应用程序的进程未启动(冷启动)或 Activity 尚未生成(热启动)时启动应用程序,会发生以下情况。 (在热启动期间,从不显示启动画面。)
- 您可以从头到尾定制体验。
- 应用程序完成后,启动画面消失并显示应用程序。
动画元素和力学
动画的组件通过 Android Manifest 中的 XML 资源文件进行描述。每个都有明暗模式变体。
它们如下:
- 窗口背景
- 动画应用程序图标,以及
- 图标背景
使用这些元素时请记住以下事项:
- 应用程序图标应该是矢量可绘制的,并且是静态或动态的。虽然动画可以是任意长度,但我们建议不要超过 1,000 毫秒。默认情况下使用启动器图标。
- 图标背景是可选的,但是,如果需要在图标和窗口背景之间增加对比度,这将是有益的。如果您使用自适应图标,则如果它与窗口背景之间的对比度足够高,则会显示其背景。
- 窗口 (4) 的背景由单一的不透明颜色组成。如果窗口背景设置为简单颜色且未设置,则如果未设置该属性,则默认使用它。
Geek Tip: Enter and leave animations are used in the splash screen animation mechanics.
初始屏幕的系统视图包含在入口动画中。这由系统管理,无法更改。离开动画由隐藏启动屏幕的动画运行组成。如前所述,一切从一开始就根据您的需要完全定制。动画完成后,必须手动删除启动画面。
自定义应用程序的启动画面
如果您的应用主题中有窗口背景,则启动屏幕将使用它。通过向应用程序主题添加特征来自定义启动屏幕。
您的应用程序的启动画面可以通过以下方式进行修改:
- 通过改变其特征来改变主题的外观
- 在屏幕上停留更长时间
- 更改用于关闭初始屏幕的动画
通过为其分配主题来更改启动屏幕的外观。
第 1 步:添加特征
要修改应用的启动画面,您可以在 Activity 主题中提供以下特征。如果您当前有一个利用android:windowBackground 等特性的历史初始屏幕实现,请考虑为 Android 12 提供额外的资源文件。
- @color/...
第 2 步:添加可绘制对象
要更改开始窗口中间的图标,请使用 windowSplashScreenAnimatedIcon。如果你想为你的标志或飞溅设置动画,那么你也可以添加它!
- @drawable/...
第 3 步:细枝末节
要指定启动屏幕图标动画的持续时间,请使用 windowSplashScreenAnimationDuration。设置此项对启动画面的实际显示时间没有影响,但您可以在使用 SplashScreenView#getIconAnimationDuration 设计启动画面退出动画时获得它。有关详细信息,请参阅下一节中的让启动画面保持更长的持续时间。
- 2000
结论
因此,您现在知道如何以 Android 12 的方式添加启动画面,它比以前的任何其他实现都更容易、更流畅,并且更快、更好。