首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在不增加SDK版本的情况下,防止在MIUI中强制暗模式

在不增加SDK版本的情况下,防止在MIUI中强制暗模式
EN

Stack Overflow用户
提问于 2021-03-24 22:42:12
回答 1查看 1.4K关注 0票数 0

我的新应用程序不支持暗模式。当我在小米上安装它时(开启了深色模式),MIUI在上面应用了深色模式。MIUI在"Settings -> Display -> More Dark mode options“(设置和显示更暗模式选项) (screenshot of "More Dark mode options")中有设置。此选项为我的应用程序打开,并强制暗模式,尽管我的应用程序不支持它。大多数其他应用程序都没有启用此模式。有一些应用程序是“白色”的,但对于他们来说,这种模式没有启用,他们可以正常工作。

我找到了解决方案,将下面这行添加到themes.xml中:

代码语言:javascript
运行
复制
<item name="android:forceDarkAllowed">false</item>

问题是,这一行需要设置minSdkVersion = 29。如何防止MIUI在“更多深色模式选项”中启用选项,并在我的应用程序中强制使用深色模式(就像在大多数其他“白色”应用程序中一样),并将SDK版本保持在21?

基于Android 10的MIUI 12

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-03 01:31:28

只需将themes.xml文件复制到values-v29文件夹中,并仅在该文件的values-v29变体中添加<item name="android:forceDarkAllowed">false</item>即可。

如果你在你的主题文件中定义了很多东西,最好是这样的:

values/themes.xml

代码语言:javascript
运行
复制
<style name="Theme.App.Base" parent="Theme.AppCompat.Light.NoActionBar">
 ... // Your attributes here
</style>

<style name="Theme.App" parent="Theme.App.Base">
</style>

值-v29/hemes.xml

代码语言:javascript
运行
复制
<style name="Theme.App" parent="Theme.App.Base">
  <item name="android:forceDarkAllowed">false</item>
</style>

更新:另外,如果你把项目放在normal values文件夹中,我不认为它会崩溃,为什么你首先会认为这是一个问题?像这样的东西不能工作吗?

代码语言:javascript
运行
复制
<item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66783419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档