标签: android-splashscreen

迁移到 Android 12 及更高版本时,在 ionic cordova 中添加多种尺寸的启动屏幕

我正在尝试将 ionic cordova 应用程序迁移到 android 12 (api 32)。不能<splash>再使用标签了。相反,我应该使用<preference name="AndroidWindowSplashScreenAnimatedIcon" value="path to xml/png" />.

以前我用 生成资源文件cordova-res,所以它会自动将资源文件添加到config.xml如下所示,

    <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
    <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
    <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
    <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
    <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
    <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
    <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
    <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
    <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
    <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
    <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
    <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
Run Code Online (Sandbox Code Playgroud)

我如何使用添加启动屏幕的新方法来做到这一点..?

<preference name="AndroidWindowSplashScreenAnimatedIcon" value="path to xml/png" />
Run Code Online (Sandbox Code Playgroud)

cordova ionic-framework android-12 ionic-cordova android-splashscreen

17
推荐指数
2
解决办法
1万
查看次数

启动画面图标未完全显示

我使用新的闪屏 api 向 API 级别 23 以下的所有 Android 版本添加均匀的闪屏。对闪屏图标有任何要求吗?目前我尝试使用 svg,我认为它会在不同的屏幕上自动调整大小。有没有人也经历过这种情况并有解决方法或知道这些(隐藏的?)要求?

我使用最新的闪屏 api 版本 (1.0.0-alpha02),这是我的主题:

    <style name="SplashTheme" parent="Theme.SplashScreen">
        <item name="windowSplashScreenBackground">@color/colorPrimary</item>
        <item name="windowSplashScreenAnimatedIcon">@drawable/ic_disney_wordmark</item>
        <item name="postSplashScreenTheme">@style/AppTheme</item>
        <item name="windowSplashScreenAnimationDuration">1000</item>
    </style> 
Run Code Online (Sandbox Code Playgroud)

这是以 ic_disney_wordmark 为例的输出,它是一个 svg: 在此输入图像描述

感谢您的帮助!

android android-xml android-12 android-splashscreen

15
推荐指数
2
解决办法
7536
查看次数

可以在 Android 12 启动画面 API 中设置图标的宽度

我想在SplashScreen. 我正在使用启动画面,但它显示的尺寸大于 120dp。对于任何向量,它总是大于 120dp。
截图并通过 Paint 工具计算后,我发现我的设备(Pixel 4XL)中的应用程序图标大小约为 160dp。因此,如果我向应用程序图标添加 20dp 的内边距,则在 Pixel 4XL 设备上,应用程序图标将看起来像 120dpx120dp。但不知道在其他设备上能不能用?

android android-splashscreen

14
推荐指数
1
解决办法
9280
查看次数

React-native-splash-screen 状态栏颜色(不兼容的类型)

我正在尝试在我的Android应用程序上实现react-native-splash-screen。

启动画面效果很好,但是当我尝试自定义状态栏颜色(请参阅文档)时,出现此错误:

“不兼容的类型:int 无法转换为布尔值”

在此输入图像描述

我按照说明一步一步(文档)。我的代码完全一样

如果我删除R.style.SplashScreenTheme,一切正常。

PD:与styles.xml上的主题名称R.style.THEMENAME相同

android react-native react-native-splash-screen android-splashscreen

9
推荐指数
2
解决办法
5521
查看次数

Android 12 启动画面图标

我想使用新的 Android 12 API 作为启动画面,但如果我drawable在主题内使用我的图标作为参数windowSplashScreenAnimatedIcon,它就会被拉伸。如何调整该图标的大小?我的图标不是矢量。我必须使用 png 文件。

android android-splashscreen

8
推荐指数
1
解决办法
2万
查看次数

Android 12 启动画面 API 无法与 Material 组件配合使用

我一直在关注文档,但不幸的是它不包括使用材质组件作为应用程序整体主题时的适应。

<style name="Theme.App" parent="Theme.MaterialComponents.DayNight">
    <!-- Primary brand color. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryVariant">@color/colorPrimaryDark</item>
    <item name="colorOnPrimary">@android:color/white</item>
    <!-- Secondary brand color. -->
    <item name="colorSecondary">@color/colorPrimary</item> <!--Fab color-->
    <item name="colorOnSecondary">@color/colorAccent</item> <!--Fab icon color-->
    <item name="colorSecondaryVariant">@color/colorAccentDark</item>
    <!-- Status bar color. -->
    <item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
    <!-- Customize your theme here. -->
    <!--<item name="tabStyle">@style/AppTabLayout</item>-->
    <!-- The color for all other text including the menu -->
    <item name="android:textColor">@color/colorPrimary</item>
    <item name="android:textColorHighlight">@color/colorAccentDark</item>
    <item name="android:windowAnimationStyle">@style/WindowAnimationTransition</item>

    <item name="checkboxStyle">@style/AppCheckBoxStyle</item>
    <item name="popupMenuBackground">@drawable/popup_bg_rounded</item>
    <item name="materialAlertDialogTheme">@style/AppDialogTheme</item>

    <item name="autoCompleteTextViewStyle">@style/AppCursor</item>

    <item name="overlapAnchor">false</item>
    <item name="android:dropDownVerticalOffset">?attr/actionBarSize</item>

    <item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
</style>

<style …
Run Code Online (Sandbox Code Playgroud)

android material-components-android android-12 android-splashscreen

7
推荐指数
1
解决办法
2719
查看次数

Cordova 启动画面被 Cordova 11.0 和 Android 12 API 限制在一个小圈子内?

我正在从 Cordova 10.x 迁移到 11.x,并按照这篇文章进行操作。在以前的版本中,用户必须提供所有分辨率的完整图像,然后使用标签进行定义<splash>;现在,不再有<splash>标签,只有一张图像。

结果是闪屏更小,并且限制为一个圆,半径为设备宽度的 1/3。

提供的图像没有边框,我的config.xml如下:

<?xml version='1.0' encoding='utf-8'?>
<widget
  ...
  <platform name="android">
    <preference name="android-targetSdkVersion" value="32" />
    <preference name="AndroidWindowSplashScreenAnimatedIcon" value="splash.png" />
    <preference name="AndroidWindowSplashScreenBackground" value="#FFFFFF" />
  ...
Run Code Online (Sandbox Code Playgroud)

当我发送小图像时,它们被放置在这个圆圈内。但更大的图像会被裁剪。

这是一种理想的行为吗?如果可以的话,我可以定制这个尺寸吗?我无法在Cordova Docs找到任何方法来定义它的大小。

这是我的移动设备上的两个打印屏幕:

Cordova 10 版本的图像(所需)

Cordova 11 版本的图像(裁剪成圆形)

有任何想法吗 ?提前致谢!

android cordova android-splashscreen

7
推荐指数
1
解决办法
3871
查看次数

Play 管理中心启动前警告“双闪屏”

无论我做什么,Play 管理中心总是会在我的发布前报告中显示警告:

爬网程序检测到空白加载屏幕或在系统启动屏幕之后在应用程序中显示的自定义启动屏幕。在 Android 12 或更高版本上启动您的应用的用户将看到 2 个启动屏幕。要解决此问题,请更新您的应用程序以使用 SplashScreen API。

我按照https://developer.android.com/develop/ui/views/launch/splash-screenhttps://developer.android.com/reference/kotlin/androidx/core/splashscreen/SplashScreen的说明进行操作,但什么也没有有效...警告始终存在。

我怀疑这是误报。当我观看预报告给我“展示”问题的无数视频时,绝对没有任何问题,没有双闪屏,也没有任何东西......

有人见过这个吗?怎么解决呢?

android google-play-console android-jetpack-compose android-splashscreen

7
推荐指数
1
解决办法
2183
查看次数

如何在闪屏资源中使用 Jetpack Compose 主题的背景颜色?

我想使用 Jetpack compose Material 主题背景颜色而不是 XML 资源文件中的硬编码值。有没有办法做到这一点?我找到了一个答案,但相反如何在 Jetpack Compose 中直接使用颜色资源?

我有一个用于启动屏幕的资源文件,

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.App.Starting" parent="Theme.SplashScreen">
        <item name="windowSplashScreenBackground">@color/white</item>
        <item name="windowSplashScreenAnimatedIcon">@drawable/ic_baseline_compress_24</item>
        <item name="postSplashScreenTheme">@style/Theme.DailyTasks</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西,

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.App.Starting" parent="Theme.SplashScreen">
        <item name="windowSplashScreenBackground">androidx.compose.material.MaterialTheme.background</item>
        <item name="windowSplashScreenAnimatedIcon">@drawable/ic_baseline_compress_24</item>
        <item name="postSplashScreenTheme">@style/Theme.DailyTasks</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

我想这样做,以便当我的应用程序的主题处于深色模式时,启动屏幕的背景颜色将与我的应用程序的背景颜色相同,而不是在我的资源文件中定义的硬编码@color/white 。

android splash-screen kotlin android-jetpack-compose android-splashscreen

6
推荐指数
0
解决办法
675
查看次数

使用新的 Android 12 Splash Screen API 时应用程序崩溃

我正在尝试使用新的 Android 12 Splash Screen API,但我的应用程序在打开第一个 Activity 时不断崩溃。

MainActivity我的启动器活动没有任何与之关联的布局文件。当应用程序启动时,我会在检查当前身份验证会话时保持启动屏幕处于活动状态。

// in MainActivity.kt

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val splashScreen = installSplashScreen()
    splashScreen.setKeepVisibleCondition { !authSessionIsReady }
    Amplify.Auth.fetchAuthSession(onFetchSuccess, onFetchError)
}

private val onFetchSuccess = fun(session: AuthSession) {
    authSessionIsReady = true
    when (session.isSignedIn) {
        true -> goToHomeActivity(Amplify.Auth.currentUser.username)
        false -> goToLoginOrSignupActivity()
    }
}

private val goToHomeActivity = fun(username: String) {
    Intent(this, HomeActivity::class.java).apply {
        putExtra(EXTRA_USERNAME, username)
    }.also { startActivity(it) }
    finish()
}
Run Code Online (Sandbox Code Playgroud)

这是我的清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myapp.myapp">

    <application
        android:name=".AmplifyApp" …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose android-splashscreen

5
推荐指数
1
解决办法
3535
查看次数