DayNight Mode实现Android夜间模式!
期末设计开发了一个小说阅读器,里面涉及到白天/夜间模式的切换,特拿出来试验,验证DayNight Mode标准
利用DayNight Mode标准实现Android白天/夜间模式切换,主要用到控制器UiModeManager。
UiModeManager主要用来进行模式切换。它是Android系统SDK本来就提供的模式切换系统。利用该控制器外加一套白天/夜间模式的资源(UiModeManager会根事件自动在两个模式之间切换),即可实现白天/夜间模式的切换。
资源细分
首先我们看一看一个界面需要控制哪些颜色:

而除了上述基本需要控制的窗口颜色外,布局中受影响的还会有一些文本和图像。一般的,白天/夜间模式涉及到的显示状态的切换最基本改变影响就是这些文本、icon图标、整体的背景颜色等。
首先我们在colors.xml中设置好这些颜色,代码如下:
白天模式:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 文本颜色-->
<color name="text">@android:color/black</color>
<!-- 背景颜色-->
<color name="background">@android:color/white</color>
<!-- 窗口颜色-->
<color name="colorPrimary">#FF9600</color>
<color name="colorPrimaryDark">#FF9600</color>
<color name="colorAccent">#FF4081</color>
</resources>
夜间模式:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 文本颜色-->
&

本文介绍了如何在Android应用中实现DayNight Mode,通过UiModeManager控制器和资源文件的细分,实现白天/夜间模式的切换。文章详细讲解了colors.xml、styles.xml、drawable资源的设置,以及MainActivity代码和activity_main.xml布局文件的修改,展示了模式切换的运行效果。
最低0.47元/天 解锁文章
4500

被折叠的 条评论
为什么被折叠?



