Android 适配Dark Theme(暗黑模式)

本文介绍了Android 10中的暗黑模式,包括为何需要暗黑模式及其优点,如降低功耗和提高视觉体验。文章详细阐述了如何适配暗黑模式,包括Force Dark自动适配和自定义适配方法,并提供了手动切换暗黑模式的代码示例,确保用户能在运行时自由切换主题。
摘要由CSDN通过智能技术生成

暗黑模式

在 2019 年的 Google I/O上,谷歌新发布的android 10终于从系统层级支持暗黑模式,那么为什么我们需要暗黑模式?Android开发者应该如何让自己的app适配暗黑模式?接下来的文章将一一为你解答。

为什么我们需要暗黑模式

在Android 官方文档中,列举了暗黑模式的三个好处:

  1. 可以大大降低功耗(取决于设备的屏幕技术)。
  2. 提高了弱视用户和对强光敏感的用户的可见性。
  3. 使任何人在昏暗的环境中都更容易使用设备。

在OLED显示屏上,当一个像素是纯黑色(十六进制为#000000)的时候,该像素将会被关闭并且不消耗能量,这时如果显示屏显示的是大面积的黑色像素,将会大大降低显示屏消耗的电量。

如何适配暗黑模式

Force Dark自动适配

Android 10 提供 Force Dark 功能。此功能可让开发者快速实现深色主题背景,只需要在 style.xml 中的应用主题中添加这一行代码android:forceDarkAllowed=“true” ,就可以完成自动适配。

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:forceDarkAllowed">true</item>
    </style>
</resources>

效果对比如下图所示。从结果来看,整体的界面风格好像确实变成了暗黑模式,但是菜单栏并未适配,所以这里我并不推荐你使用这种自动化的方式来实现深色主题,而是应该使用更加复杂一点的实现方式——自定义适配。

图1 正常情况
图2 Force Dark适配

自定义适配

  1. 将App 使用的主题从之前默认的 Light 主题修改为 DayNight
<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值