问题描述
到目前为止,我已经从Google那里学习到了,您必须使用 Theme.Appcompat.Daynight 或Material Daynight主题来使您的应用支持深色模式。并且您需要在 values 和 values-night 目录中使用不同的 styles.xml 。 我不愿意让我的应用支持深色主题。但是,当我将Android系统主题(从通知面板)更改为深色时,我的应用程序将变为深色。 我使用 Theme.Appcompat.Light 作为基本主题,我的应用程序没有支持黑暗模式,但我的应用程序仍然变暗。我是第一次使用cardview,不知道这可能是原因,因为我是android编程的新手。 非常欢迎您的帮助。请在这里查看屏幕截图:
解决方法
您可以在所有应用程序中使用它
class AppController: Application() {
override fun onCreate() {
super.onCreate()
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
}
}
,
在调用 setContentView 之前在 MainActivity 的 onCreate 方法中添加这一行:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
,
在 android 10 中,android 为应用程序设置了黑暗以防止这种情况, 将以下样式添加到您的默认主题中:
<item name="android:forceDarkAllowed" tools:targetApi="q">false</item>