欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Kotlin 深色模式(夜间模式)

程序员文章站 2023-02-21 18:32:45
最近看了洋佬的公众号,谈到深色模式,于是自己在kotlin上面实现了一下,下面是效果图 安卓10叫这个为Dark theme,切换为深色的时候可以减少手机功耗,在暗的环境里更容易使用 1.继承DayNight主题 2.在res下面新建values-night文件,然后把深色的资源放到里面 drawa ......

最近看了洋佬的公众号,谈到深色模式,于是自己在kotlin上面实现了一下,下面是效果图

Kotlin 深色模式(夜间模式)

安卓10叫这个为dark theme,切换为深色的时候可以减少手机功耗,在暗的环境里更容易使用

1.继承daynight主题

Kotlin 深色模式(夜间模式)

 

2.在res下面新建values-night文件,然后把深色的资源放到里面

Kotlin 深色模式(夜间模式)

 

drawable资源也一样,对应的drawable-night-xhdpi等

3.在baseactivity里面监听变化,设置主题

Kotlin 深色模式(夜间模式)

 

这里有一点需要注意,recreate重新创建视图,所以在有些地方需要判断类型空指针,不然会报错

这里我在初始化的地方打印了log,可以看到,每次切换模式都会伴随着视图重建

Kotlin 深色模式(夜间模式)

 

效果图有点丑,因为颜色值基本取反的,自己瞎配置的颜色也只能含着泪自己看了,这里就ok了,很简单

github:https://github.com/1024477951/kotlinstrong