如何禁用基于android系统设置的昼夜主题自动更改?

如何禁用基于android系统设置的昼夜主题自动更改?,android,android-cardview,android-theme,android-dark-theme,android-darkmode,Android,Android Cardview,Android Theme,Android Dark Theme,Android Darkmode,到目前为止,我从谷歌学到了,你必须使用主题.Appcompat.Daynight或材料Daynight主题来让你的应用程序支持黑暗模式。您需要在values和values目录中使用不同的style.xml。 我不愿意让我的应用程序支持黑暗主题。但当我将安卓系统主题(从通知面板)更改为黑暗时,我的应用程序变得黑暗。 我正在使用主题.Appcompat.Light作为基本主题,没有为我的应用程序支持暗模式做任何事情,但我的应用程序仍然变暗。我是第一次使用cardview,不知道这是否是原因,因为我是

到目前为止,我从谷歌学到了,你必须使用主题.Appcompat.Daynight或材料Daynight主题来让你的应用程序支持黑暗模式。您需要在valuesvalues目录中使用不同的style.xml。 我不愿意让我的应用程序支持黑暗主题。但当我将安卓系统主题(从通知面板)更改为黑暗时,我的应用程序变得黑暗。 我正在使用主题.Appcompat.Light作为基本主题,没有为我的应用程序支持暗模式做任何事情,但我的应用程序仍然变暗。我是第一次使用cardview,不知道这是否是原因,因为我是android编程新手。 你的小小帮助将非常受欢迎。请检查此处的屏幕截图:


在调用setContentView之前,在MainActivity的onCreate方法中添加此行:

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)

在安卓10中,安卓forse dark应用程序颠覆了这一点, 将以下样式添加到您的defult主题中:

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

您可以在所有应用程序中使用此选项

class AppController: Application() {
   override fun onCreate() {
      super.onCreate()
      AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
   }
}

你好你已经检查过这个问题了吗?这可能是重复的。是的,我明白了,我们的问题几乎是一样的,但我没有使用Theme.AppCompat.DayNight作为应用程序基础主题。这里提供的解决方案AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE\u NIGHT\u NO)对我不起作用。大家好,欢迎来到SO!请阅读,例如,您可以根据问题详细信息添加一个工作示例。