Android 深色模式适配

文章目录

  • Android 深色模式适配
    • 前言
    • 撸码
      • 一、创建目录
      • 二、创建资源文件
      • 三、Shape适配深色模式
      • 四、自定义控件适配深色
      • 五、最终效果

前言

Google 在 Android 10 中加入了深色主题背景,妈妈再也不用担心我晚上玩手机变成瞎子了:

  • 减少耗电量(个人感觉这个然并卵,除非你的手机很牛逼)
  • 对强光比较敏感的用户提高了可视性,不再需要凑在眼前把手机屏幕调到最暗!!!
  • 在伸手不见五指的地方不怕被闪瞎眼了

撸码

一、创建目录

当你开启深色模式时,Android 会自己在资源目录下查找深色模式所需的资源,所以你需要创建文件夹(xxxx-night)存放深色模式资源。不要问我为什么创建!!!

  1. 创建 values-night 根据自己的需求将 valuesxml 文件 copyvalues-night 中。
  2. 看需求创建 drawable-nightdrawable-xxhdpi-night

二、创建资源文件

在开发过程中有两个常用的 colors.xmlstyles.xml。如果你不知道这两个玩意是什么东西我建议你点击右上角的小叉。

  1. values-night 下创建 colors.xml、styles.xml,至于其他的你看完我说的这两个就会了。
  2. values/colors.xml 将内容copy到 values-night/colors.xml 然后让你家设计师给你深色模式下的设计图然后你就可以慢慢的修改颜色了

    表达不清楚,直接上图!!!

    如果你还是看不懂的话… 真的打扰了呢,
  3. values/styles.xml 同上,不多bb直接上图。

三、Shape适配深色模式

适配 Shape 深色模式是非常简单的,在 drawable 中正常创建 shape 文件就可以,你只需要注意 shape 所需颜色是否在 values/colors.xmlvalues-night/colors.xml 中存在。
效果:

四、自定义控件适配深色

为了避免重复的 shape 创建,我都会写自定义一个控件来动态设置 shape 值,这个不多说,懂的人自然懂,不懂得就去 Google 一下。
这里演示自定义Button。
values/attrs.xml 中创建自定义属性,比如我 Button 用到的就是圆角、边框颜色、边框宽度、当 Buttonenabledfalse 时候的颜色,这里的步骤和正常 自定义View 一样,直接下一步。
效果:

五、最终效果

更多相关文章

  1. Android(安卓)Wear:创建可穿戴应用 - 概述
  2. Android应用程序资源管理器(Asset Manager)的创建过程分析
  3. Android(安卓)Notification 详解,使用MediaPlayer一直播放系统铃
  4. Android(安卓)之 Window、WindowManager 与窗口管理
  5. android对话框(非速成)
  6. 探索新的Android权限模式
  7. Android使用Sensor感应器实现线程中刷新UI创建android测力计的功
  8. android实现观察者模式的几种方法
  9. android静音模式下仍可以播放媒体声音以及调节其大小。。。。

随机推荐

  1. 值类型对象的两种表示形式
  2. net 使用 data.oracleclient 出现的错误
  3. 经典的IoC/DI容器--StructureMap
  4. 最新版近乎v5.0新型社区发布介绍
  5. 什么是构造器?引用类型是什么?
  6. 用Shape做动画的实例详解
  7. ASP.NET MVC 遇到JSON循环调用的问题应该
  8. asp .net 面试题及答案分享
  9. angularjs是怎么为ng-click事件传递参数
  10. WPF核心的技术--数据绑定