參考資料 ----
Android深色模式适配原理分析(這篇解說超清楚的)
2024.11.10
踩到雷!
下面程式碼在陽春的 app 可行,但 強制深色模式會令 Activity 重建一個 instance(實例),以 onCreate() 為例,會同時間執行 2 次;這次的雷就是 SQLite 同時間寫入 2 筆相同的記錄,造成 primary key 衝突才發現。
這篇似乎有解:實作深色主題
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) ... ... // 設為 深色/夜晚 模式 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES) ... ... }
這指令到底該在什麼場合使用...再說吧... 😝
===== 2024.11.10 =====
這篇似乎有解:實作深色主題
目前找到的替代做法,是修改預設(白天) 的 themes.xml ↓
<style name="Theme.blablabla" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> ... ... <!-- Customize your theme here. --> <item name="android:windowBackground">@color/black</item>
沒有留言:
張貼留言