參考資料 ----
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>
沒有留言:
張貼留言