我看都是重启 app,或者就用换肤库(比如酷安,很久以前就有的,动画很炫酷,可以参考陈小缘老师的博客)
不想重启 app 达到此类效果,自己写的话,我能想到的就是在onConfigurationChanged()里手动改变控件颜色,但是好蠢。
我想知道,有没有原生支持的另外的实现方式?
1
oldshensheep 2021 年 5 月 31 日
Google 一下 android jetpack compose dark theme
https://developer.android.com/guide/topics/ui/look-and-feel/darktheme?hl=en https://developer.android.com/jetpack/compose/themes#dark-theme |
2
q197 2021 年 6 月 1 日
@oldshensheep 这个最简单,几乎不用写任何代码,而且能随着系统变化自动改变。缺点就是只能有日、夜两套主题。
|
3
hello1996 2021 年 6 月 1 日
无解,安卓的夜间模式就是老版本的主题改的,要么重启,要么自己监听。
|
5
sankemao 2021 年 6 月 1 日 via iPhone 不得不吐槽 android 的 sdk,许多很平常的功能不得不看半天源码,然后用一些很 hacky 的方式去实现
|
8
ikas 2021 年 6 月 2 日
没啥好弄的,安卓的资源机制决定你要么用创新创建然后加载新的资源,要么自己直接管理所有控制的主题相关的属性.你看看最新的 jetpack/compose/themes 就知道了...
|
9
gtanyin 2021 年 6 月 4 日
为啥我继承了 DayNight 主题之后,切换日 /夜模式不会重启 APP 。。
|