官方其實有一種設置方法要求Activity是繼承AppcompatActivity才能使用,
還需要設置Theme為Theme.AppCompat.DayNight 后綴隨意
不過現在基本都默認支持,所以只需要更改theme
設置夜間模式
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
設置日間模式
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
之后需要將activity重啟,調用Activity的recreate()
demo地址? https://github.com/breakfrox/DayNIghtDemo
(PS: 具體的實現步驟。在APP.kt里,callback里的方法對應activity的生命周期,
使用Kotlin)
如果需要復雜設置的話需要準備夜間模式使用的them和icon
大致操作可以看這篇 (寫了夜間模式的其他實現方法)
http://liandongyang.coding.me/post/android-support-night-mode/