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

Sud*_*ath 5 android android-theme android-cardview android-dark-theme android-darkmode

到目前为止,我从谷歌了解到,你必须使用Theme.Appcompat.Daynight或 Material Daynight 主题来使你的应用程序支持黑暗模式。并且您需要在valuesvalues-night目录中使用不同的styles.xml。我不愿意让我的应用程序支持深色主题。但是当我将 Android 系统主题(从通知面板)更改为深色时,我的应用程序变黑。我使用Theme.Appcompat.Light作为基本主题,没有为我的应用程序支持黑暗模式做任何事情,但我的应用程序仍然变暗。我是第一次使用cardview,不知道这是否是原因,因为我对android编程很陌生。我们非常欢迎您的一点帮助。请在此处检查屏幕截图:

系统深色模式关闭

系统深色模式开启

小智 0

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

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
Run Code Online (Sandbox Code Playgroud)