Cordova在Android上改变了我的应用程序的颜色,看起来它使用了自己的黑暗模式

j5fpnvbx  于 2022-11-15  发布在  Android
关注(0)|答案(1)|浏览(159)

我正在使用材料用户界面与React,并希望使一个Android版本与 cordova 。
我跑:

cordova create appname
cordova platform add android
cordova build android

www目录是指向我的项目中的build目录的符号链接。
当我在Android模拟器中运行它时,应用程序使用的是浅色,一切看起来都很好。如果我创建apk并将其安装到我自己的设备上,颜色看起来就不同了。有些颜色是倒置的,有些颜色看起来比应该的要暗得多。登录屏幕本来应该是浅色的,但现在也是深色的。
问题是我的应用程序已经内置了黑暗模式检测,我想更喜欢 cordova 改变颜色本身。
第一张图片是如何看起来像与 cordova 生成的APK。注意如何文字颜色是倒置和标签几乎看不见。
第二张图片是它应该看起来的样子。注意文本的颜色是正确的,标签中有更多的对比度。

我找不到任何关于 cordova 内置黑暗模式的文档,也找不到任何其他人身上发生这种情况的证据,所以我不太明白为什么它会被改变。
我注意到的另一件事是,如果我把它安装为PWA或在Chrome中打开它,它会根据设备的首选项正确地更改主题。
如果我将设备设置为浅色模式,Cordova版本会显示应用的深色主题。如果我将设备设置为深色模式,它会强制显示深色主题,在深色模式之上更改所有颜色。
这是我的config.xml的内容

<?xml version='1.0' encoding='utf-8'?>
<widget id="app.platelet.platelet" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>platelet.app</name>
    <description>platelet dispatch for blood bikes</description>
    <author email="info@platelet.app" href="https://platelet.app">
        platelet.app
    </author>
    <content src="/" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <platform name="android">
        <!--
            ldpi    : 36x36 px
            mdpi    : 48x48 px
            hdpi    : 72x72 px
            xhdpi   : 96x96 px
            xxhdpi  : 144x144 px
            xxxhdpi : 192x192 px
        -->
        <icon src="icon/ldpi.png" density="ldpi" />
        <icon src="icon/mdpi.png" density="mdpi" />
        <icon src="icon/hdpi.png" density="hdpi" />
        <icon src="icon/xhdpi.png" density="xhdpi" />
        <icon src="icon/xxhdpi.png" density="xxhdpi" />
        <icon src="icon/xxxhdpi.png" density="xxxhdpi" />
    </platform>
</widget>

我正在测试的设备是小米Mi 9 T,安装了Miui 12.1.4.0(Android 11)。
谢谢你!

col17t5w

col17t5w1#

修复方法是添加:
<meta name="color-scheme" content="light dark" />
到index.html中的<head>

相关问题