放两段翻译方便自己看,使用flutter_native_splash: ^2.4.7来配置启动页的时候遇到了配置背景图不起作用的效果。 总的来说Android12的background_image背景图不会生效,需要在values-v31添加values这一行
bash
<item name="android:windowBackground">@drawable/launch_background</item>
配置如下:
shell
flutter_native_splash:
# 这个插件用于生成原生代码,来自定义 Flutter 默认的白色启动页(splash screen),
# 你可以通过设置背景颜色或背景图片来美化启动页。
# 修改好下面的参数后,请在终端执行以下命令以生成启动页:
# dart run flutter_native_splash:create
# 如果你想恢复 Flutter 默认的白色启动页,请执行:
# dart run flutter_native_splash:remove
# ⚠️ 重要提示:
# 以下配置不适用于 Android 12 及以上版本,因为 Android 12+ 使用了不同的启动页机制。
# 你必须在下面的 android_12 部分单独配置。
# color 或 background_image 是必填项(二选一):
# color:设置纯色背景;
# background_image:设置背景图片(推荐使用 png,可用于渐变背景)。
# 图片会自动拉伸填满整个屏幕。
# 两者不能同时设置。
# color: "#42a5f5"
background_image: "assets/images/logo/appbg.png"
# ↑ 设置启动页背景图为 appbg.png
# 可选参数如下,如果想启用,请取消注释(去掉 #):
# image:设置启动页中间显示的图片(png 格式,推荐使用 4x 像素密度的图片)
# image: assets/images/background_ocean.png
# branding:设置品牌图片(如应用商标),支持 Android、iOS、Web。
# branding: assets/dart.png
# branding_mode:控制品牌图片的位置,可选值:
# bottom(底部,默认)、bottomRight(右下角)、bottomLeft(左下角)
# branding_mode: bottom
# branding_bottom_padding:设置品牌图片距离底部的间距(默认 0)
# branding_bottom_padding: 24
# 以下是暗色模式下使用的配置项:
# 如果设备处于暗色模式,可以单独指定背景或图片。
# color_dark、background_image_dark 不能同时设置。
# color_dark: "#042a49"
# background_image_dark: "assets/dark-background.png"
# image_dark: assets/splash-invert.png
# branding_dark: assets/dart_dark.png
# ==========================
# Android 12 及以上专用配置
# ==========================
android_12:
# image:设置 Android 12 启动页中间的图标。
# 如果不设置,将默认使用应用图标。
# ⚠️ 注意:图标会被裁剪成圆形。
# 有背景的图标:推荐尺寸 960×960px,内容在直径 640px 的圆内。
# 无背景图标:推荐尺寸 1152×1152px,内容在直径 768px 的圆内。
# image: assets/android12splash.png
# color:设置启动页背景颜色。
color: "#FFEA92"
# image:设置 Android 12 启动页中显示的图像。
image: "assets/images/logo/Android12.png"
# icon_background_color:设置图标的背景颜色(可选)
# icon_background_color: "#111111"
# branding:设置品牌图片(可选)
# branding: assets/dart.png
# 暗色模式下的配置(如果未设置,则使用上面的默认配置)
# image_dark: assets/android12splash-invert.png
# color_dark: "#042a49"
# icon_background_color_dark: "#eeeeee"
# 以下可用于关闭某个平台的启动页生成
# android: false
# ios: false
# web: false
# 平台专用图片与颜色(可以单独覆盖全局配置)
# color_android: "#42a5f5"
# color_dark_android: "#042a49"
# color_ios: "#42a5f5"
# color_dark_ios: "#042a49"
# color_web: "#42a5f5"
# color_dark_web: "#042a49"
# image_android: assets/splash-android.png
# image_dark_android: assets/splash-invert-android.png
# image_ios: assets/splash-ios.png
# image_dark_ios: assets/splash-invert-ios.png
# image_web: assets/splash-web.gif
# image_dark_web: assets/splash-invert-web.gif
# background_image_android: "assets/background-android.png"
# background_image_dark_android: "assets/dark-background-android.png"
# background_image_ios: "assets/background-ios.png"
# background_image_dark_ios: "assets/dark-background-ios.png"
# background_image_web: "assets/background-web.png"
# background_image_dark_web: "assets/dark-background-web.png"
# branding_android: assets/brand-android.png
# branding_bottom_padding_android: 24
# branding_dark_android: assets/dart_dark-android.png
# branding_ios: assets/brand-ios.png
# branding_bottom_padding_ios: 24
# branding_dark_ios: assets/dart_dark-ios.png
# branding_web: assets/brand-web.gif
# branding_dark_web: assets/dart_dark-web.gif
# 以下配置控制图片的显示位置(不同平台使用不同参数):
#
# android_gravity(Android):可选值包括 bottom、center、top、fill 等。
# android_gravity: center
#
# ios_content_mode(iOS):可选值包括 scaleToFill、scaleAspectFit、center 等。
# ios_content_mode: center
#
# web_image_mode(Web):可选值包括 center、contain、stretch、cover。
# web_image_mode: center
# android_screen_orientation:控制 Android 启动页方向。
# 参考:https://developer.android.com/guide/topics/manifest/activity-element#screen
# android_screen_orientation: sensorLandscape
# fullscreen:是否隐藏通知栏(默认 false)。
# 注意:在 iOS 中不会自动恢复通知栏。
# 若要显示通知栏,请在 Flutter 启动时调用:
#
# WidgetsFlutterBinding.ensureInitialized();
# SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.bottom, SystemUiOverlay.top]);
#
# fullscreen: true
# info_plist_files:如果你修改了 iOS 的 Info.plist 文件名,请在此指定文件路径。
# info_plist_files:
# - 'ios/Runner/Info-Debug.plist'
# - 'ios/Runner/Info-Release.plist'
第二段
shell
flutter_native_splash:
# 这个插件用于生成原生代码,来自定义 Flutter 默认的白色启动页(splash screen),
# 你可以通过设置背景颜色或背景图片来美化启动页。
# 修改好下面的参数后,请在终端执行以下命令以生成启动页:
# dart run flutter_native_splash:create
# 如果你想恢复 Flutter 默认的白色启动页,请执行:
# dart run flutter_native_splash:remove
# ⚠️ 重要提示:
# 以下配置不适用于 Android 12 及以上版本,因为 Android 12+ 使用了不同的启动页机制。
# 你必须在下面的 android_12 部分单独配置。
# color 或 background_image 是必填项(二选一):
# color:设置纯色背景;
# background_image:设置背景图片(推荐使用 png,可用于渐变背景)。
# 图片会自动拉伸填满整个屏幕。
# 两者不能同时设置。
# color: "#42a5f5"
background_image: "assets/images/logo/appbg.png"
# ↑ 设置启动页背景图为 appbg.png
# 可选参数如下,如果想启用,请取消注释(去掉 #):
# image:设置启动页中间显示的图片(png 格式,推荐使用 4x 像素密度的图片)
# image: assets/images/background_ocean.png
# branding:设置品牌图片(如应用商标),支持 Android、iOS、Web。
# branding: assets/dart.png
# branding_mode:控制品牌图片的位置,可选值:
# bottom(底部,默认)、bottomRight(右下角)、bottomLeft(左下角)
# branding_mode: bottom
# branding_bottom_padding:设置品牌图片距离底部的间距(默认 0)
# branding_bottom_padding: 24
# 以下是暗色模式下使用的配置项:
# 如果设备处于暗色模式,可以单独指定背景或图片。
# color_dark、background_image_dark 不能同时设置。
# color_dark: "#042a49"
# background_image_dark: "assets/dark-background.png"
# image_dark: assets/splash-invert.png
# branding_dark: assets/dart_dark.png
# ==========================
# Android 12 及以上专用配置
# ==========================
android_12:
# image:设置 Android 12 启动页中间的图标。
# 如果不设置,将默认使用应用图标。
# ⚠️ 注意:图标会被裁剪成圆形。
# 有背景的图标:推荐尺寸 960×960px,内容在直径 640px 的圆内。
# 无背景图标:推荐尺寸 1152×1152px,内容在直径 768px 的圆内。
# image: assets/android12splash.png
# color:设置启动页背景颜色。
color: "#FFEA92"
# image:设置 Android 12 启动页中显示的图像。
image: "assets/images/logo/Android12.png"
# icon_background_color:设置图标的背景颜色(可选)
# icon_background_color: "#111111"
# branding:设置品牌图片(可选)
# branding: assets/dart.png
# 暗色模式下的配置(如果未设置,则使用上面的默认配置)
# image_dark: assets/android12splash-invert.png
# color_dark: "#042a49"
# icon_background_color_dark: "#eeeeee"
# 以下可用于关闭某个平台的启动页生成
# android: false
# ios: false
# web: false
# 平台专用图片与颜色(可以单独覆盖全局配置)
# color_android: "#42a5f5"
# color_dark_android: "#042a49"
# color_ios: "#42a5f5"
# color_dark_ios: "#042a49"
# color_web: "#42a5f5"
# color_dark_web: "#042a49"
# image_android: assets/splash-android.png
# image_dark_android: assets/splash-invert-android.png
# image_ios: assets/splash-ios.png
# image_dark_ios: assets/splash-invert-ios.png
# image_web: assets/splash-web.gif
# image_dark_web: assets/splash-invert-web.gif
# background_image_android: "assets/background-android.png"
# background_image_dark_android: "assets/dark-background-android.png"
# background_image_ios: "assets/background-ios.png"
# background_image_dark_ios: "assets/dark-background-ios.png"
# background_image_web: "assets/background-web.png"
# background_image_dark_web: "assets/dark-background-web.png"
# branding_android: assets/brand-android.png
# branding_bottom_padding_android: 24
# branding_dark_android: assets/dart_dark-android.png
# branding_ios: assets/brand-ios.png
# branding_bottom_padding_ios: 24
# branding_dark_ios: assets/dart_dark-ios.png
# branding_web: assets/brand-web.gif
# branding_dark_web: assets/dart_dark-web.gif
# 以下配置控制图片的显示位置(不同平台使用不同参数):
#
# android_gravity(Android):可选值包括 bottom、center、top、fill 等。
# android_gravity: center
#
# ios_content_mode(iOS):可选值包括 scaleToFill、scaleAspectFit、center 等。
# ios_content_mode: center
#
# web_image_mode(Web):可选值包括 center、contain、stretch、cover。
# web_image_mode: center
# android_screen_orientation:控制 Android 启动页方向。
# 参考:https://developer.android.com/guide/topics/manifest/activity-element#screen
# android_screen_orientation: sensorLandscape
# fullscreen:是否隐藏通知栏(默认 false)。
# 注意:在 iOS 中不会自动恢复通知栏。
# 若要显示通知栏,请在 Flutter 启动时调用:
#
# WidgetsFlutterBinding.ensureInitialized();
# SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: [SystemUiOverlay.bottom, SystemUiOverlay.top]);
#
# fullscreen: true
# info_plist_files:如果你修改了 iOS 的 Info.plist 文件名,请在此指定文件路径。
# info_plist_files:
# - 'ios/Runner/Info-Debug.plist'
# - 'ios/Runner/Info-Release.plist'