我看都是重启 app,或者就用换肤库(比如酷安,很久以前就有的,动画很炫酷,可以参考陈小缘老师的博客)
不想重启 app 达到此类效果,自己写的话,我能想到的就是在onConfigurationChanged()
里手动改变控件颜色,但是好蠢。
我想知道,有没有原生支持的另外的实现方式?
1
oldshensheep 2021-05-31 18:22:12 +08:00
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-06-01 09:35:10 +08:00
@oldshensheep 这个最简单,几乎不用写任何代码,而且能随着系统变化自动改变。缺点就是只能有日、夜两套主题。
|
3
hello1996 2021-06-01 10:02:32 +08:00
无解,安卓的夜间模式就是老版本的主题改的,要么重启,要么自己监听。
|
5
sankemao 2021-06-01 13:39:36 +08:00 via iPhone 1
不得不吐槽 android 的 sdk,许多很平常的功能不得不看半天源码,然后用一些很 hacky 的方式去实现
|
8
ikas 2021-06-02 10:41:07 +08:00
没啥好弄的,安卓的资源机制决定你要么用创新创建然后加载新的资源,要么自己直接管理所有控制的主题相关的属性.你看看最新的 jetpack/compose/themes 就知道了...
|
9
gtanyin 2021-06-04 10:59:53 +08:00
为啥我继承了 DayNight 主题之后,切换日 /夜模式不会重启 APP 。。
|