当前位置: 首页 > 知识库问答 >
问题:

如何在AndroidApp上自动切换到暗色模式?

柳灿
2023-03-14

共有1个答案

松智勇
2023-03-14

也许您可以看看AppCompatDelegate.setDefaultNightMode()

您只需用daynight的父级定义主题:

<style name="MyTheme" parent="Theme.AppCompat.DayNight">    
<!-- Blah blah -->
</style>

每种样式都带有:

<style name="Theme.AppCompat.DayNight" 
       parent="Theme.AppCompat.Light" />
<style name="Theme.AppCompat.DayNight" 
       parent="Theme.AppCompat" />
MODE_NIGHT_NO. Always use the day (light) theme.
MODE_NIGHT_YES. Always use the night (dark) theme.
MODE_NIGHT_FOLLOW_SYSTEM (default). This setting follows the system’s setting, which on Android Q and above is a system setting (more on this below).
MODE_NIGHT_AUTO_BATTERY. Changes to dark when the device has its ‘Battery Saver’ feature enabled, light otherwise.
MODE_NIGHT_AUTO_TIME & MODE_NIGHT_AUTO. Changes between day/night based on the time of day.
public class MyApplication extends Application {

    public void onCreate() {
        super.onCreate();        
        AppCompatDelegate.setDefaultNightMode(
            AppCompatDelegate.MODE_NIGHT_YES);
    }
}
 类似资料:
  • 从Android10开始,你可以在黑暗模式和默认灯光模式之间切换。我还没有做任何更深入的研究,因为这是一个新的话题。暗模式的颜色切换是由操作系统自动的,还是有任何方法告诉我的应用程序切换不同的应用程序主题,如果暗模式是打开的?此外,黑暗模式也可能出现在一些Android 9设备上。 因为我使用自定义参数创建了自定义深色主题,并在资源中为每种颜色设置了深色(在中使用自定义属性,并在的主题中为它们应用

  • 在我的主要活动中,我附加了两个片段并使用tablayout。每当我把光变暗或者把暗变亮,我都会得到这个错误,在这里输入图像描述 错误显示在super的onCreate()中。onCreate(savedInstanceState)main活动。

  • 当我打开黑暗模式时,ImageView中的图像会从颜色变为白色。 我把一些croppe屏幕截图的图像,这样你就可以更好地理解。 我的图像在黑暗模式下是什么样子 当我打开黑暗模式时,图像的黑色变成了白色,白色变成了黑色。我该怎么办?

  • 现在的效果是鼠标悬浮文字切换背景图,如何改成.line自动往下滚动,滚动到下一个文字就切换当前文字的背景图,鼠标悬浮就停止滚动。

  • 我想知道如何实现在暗模式和光模式下切换图像。我不想把切换应用程序。只需在iOS或Android中切换设置上的黑暗模式。