SplashScreen使用

从 Android 12 开始,SplashScreen API 可让应用通过动画启动,包括启动时的进入应用动作、显示应用图标的启动画面,以及向应用本身的过渡。SplashScreen 是 Window,因此涵盖 Activity官方文档

相关属性

  1. windowSplashScreenBackground属性单色填充背景
xml 复制代码
<item name="android:windowSplashScreenBackground">@android:color/holo_orange_light</item>
  1. windowSplashScreenAnimatedIcon 替换默认的窗口中心的启动画面图标。如果该对象可通过 AnimationDrawableAnimatedVectorDrawable呈现动画效果和进行绘制,还需要设置 windowSplashScreenAnimationDuration以在显示起始窗口的同时播放动画。
xml 复制代码
<item name="android:windowSplashScreenAnimatedIcon">@drawable/logo</item>
  1. windowSplashScreenAnimationDuration指定启动画面图标动画的时长。设置后对实际启动画面的显示时间不会有影响,可以在自定义启动画面退出动画时使用 SplashScreenView#getIconAnimationDuration检索图标动画的时长,单位为ms。让启动画面显示更长时间
xml 复制代码
<item name="android:windowSplashScreenAnimationDuration">500</item>
  1. windowSplashScreenIconBackgroundColor设置启动画面图标后面的背景。当窗口背景与图标之间的颜色对比度不够高时,起到颜色过渡的作用。
xml 复制代码
<item name="android:windowSplashScreenIconBackgroundColor">@android:color/holo_purple</item>
  1. windowSplashScreenBrandingImage设置要显示在启动画面底部的品牌logo图片。但是Google不建议使用
xml 复制代码
<item name="android:windowSplashScreenBrandingImage">@drawable/logo_icon</item>

以下有两种方式调整SplashScreen

一、禁止使用SplashScreen

位置:android/app/src/main/res/values-v31/styles.xml

通过AndroidManifest.xml 内的android:theme="@style/LaunchTheme" 找到使用的主题名称为LaunchTheme ,找到v31/style.xml 修改为如下

xml 复制代码
<style name="LaunchTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- 不显示SplashScreen -->
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:screenOrientation">portrait</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

二、修改

颜色资源文件位置

位置:android/app/src/main/res/values/colors.xml

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#ff0000</color>
    <color name="splash_screen_background">#7B5AB6</color>
</resources>

修改位置同上

xml 复制代码
<style name="LaunchTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Show a splash screen on the activity. Automatically removed when
         Flutter draws its first frame -->
    <item name="android:windowSplashScreenBackground">@color/splash_screen_background</item>
    <item name="android:windowSplashScreenIconBackgroundColor">@color/red</item>
    <item name="android:windowSplashScreenAnimatedIcon">@drawable/news_avd_v02</item>
    <item name="android:windowSplashScreenAnimationDuration">500</item>
    <item name="android:windowSplashScreenBrandingImage">@drawable/news_avd_v02</item>
</style>
  1. 如果windowSplashScreenAnimatedIcon 非透明背景,且不是圆形,则会被裁剪成圆,此时windowSplashScreenIconBackgroundColor 不显示
  2. 如果windowSplashScreenAnimatedIcon 为动效,但是未设置windowSplashScreenAnimationDuration ,则展示静止
相关推荐
czhc114007566325 分钟前
Linux1023 mysql 修改密码等
android·mysql·adb
GOATLong1 小时前
MySQL内置函数
android·数据库·c++·vscode·mysql
onthewaying2 小时前
Android SurfaceTexture 深度解析
android·opengl
茄子凉心2 小时前
Android Bluetooth 蓝牙通信
android·蓝牙通信·bluetooth通信
00后程序员张3 小时前
iOS 26 App 运行状况全面解析 多工具协同监控与调试实战指南
android·ios·小程序·https·uni-app·iphone·webview
2501_916007475 小时前
iOS 混淆实战,多工具组合完成 IPA 混淆、加固与发布治理(iOS混淆|IPA加固|无源码混淆|App 防反编译)
android·ios·小程序·https·uni-app·iphone·webview
2501_915918415 小时前
怎么上架 App?iOS 应用上架完整流程详解与跨平台发布实战指南
android·ios·小程序·https·uni-app·iphone·webview
2501_929157685 小时前
【安卓+PC+IOS】psp全中文游戏+高清纹理包+金手指
android·游戏·ios
2501_916008895 小时前
iOS 混淆工具链实战 多工具组合完成 IPA 混淆与加固(iOS混淆|IPA加固|无源码加固|App 防反编译)
android·ios·小程序·https·uni-app·iphone·webview
yinghuaqipao5 小时前
面向对象——设计模式(创建型)
android·java·设计模式