Android Studio [Kotlin]-主题为深色时更改品牌的启动背景颜色

问题描述 投票:0回答:1

我已经在应用程序中实现了深色主题。一切正常,当系统处于暗模式时,应用程序处于暗模式,反之亦然。

问题是品牌启动。我有2个可绘制文件:

黑暗:

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">

    <item android:drawable="@color/splashColorDark"/>

    <item>

        <bitmap
                android:src="@drawable/logo_branded"
                android:mipMap="true"
                android:gravity="center"/>

    </item>

</layer-list>

和光:

 <?xml version="1.0" encoding="utf-8"?>

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">

        <item android:drawable="@color/splashColorLight"/>

        <item>

            <bitmap
                    android:src="@drawable/logo_branded"
                    android:mipMap="true"
                    android:gravity="center"/>

        </item>

    </layer-list>

为了使用品牌发布,我添加了此:

android:theme="@style/AppTheme.BrandedLaunchLight"

在我的AndroidManifest.xml

显然,在启用暗模式时,我无法设置暗品牌启动。我该怎么办?

android android-theme android-night-mode
1个回答
0
投票

只需在您的应用中使用DayNight主题(Theme.MaterialComponents.DayNightTheme.AppCompat.DayNight)。然后在资源文件夹上使用-night限定符作为drawable-nightvalues-night

这意味着您的可绘制对象在品牌发布会中使用相同的名称进行深色和浅色主题,但使用drawable-nightdrawable文件夹。您可以对颜色进行相同的操作。代替使用@color/splashColorDark@color/splashColorLight,使用单个名称splashColor并将其放入values-night\colors.xmlvalues\colors.xml

© www.soinside.com 2019 - 2024. All rights reserved.