在Android夜间模式原理一文中分析了Android实现夜间模式的原理,而且我们知道无论哪种实现方案都不是很完美。作为程序员我希望既能实夜间模式的平滑切换,又不用写那么多代码。所以我们可以看一下市面上用户量比较大的APP是如何实现夜间模式切换的,以便参考。当然我们看不到源码,只能从效果上去分析。
下面我们一次分析:微信、QQ、微博、头条、百度、QQ浏览器、华为手机浏览器、京东这几个APP。
微信:
微信可以设置深色模式跟随系统,或者手动更改,当手动更改时需要重启APP才能生效,这样的话直接从根源上避免了重新创建Activity会闪的问题,而且不需要在代码中设置资源,但是在某些场景下,这种方式可能不可取,比如阅读类APP,用户看某篇文章看了一半,切换夜间模式后重启了,这是不能接受的。
QQ: