android白色暗色主题,使用Kotlin开发Android应用(12) - Dark theme 暗色主题
Dark theme 暗色主題
樣式和主題
樣式是一個(gè)屬性集合,用于指定單個(gè) View 的外觀。 樣式可以指定字體顏色、字號(hào)、背景顏色等屬性。
主題背景是一種應(yīng)用于整個(gè)應(yīng)用、Activity 或視圖層次結(jié)構(gòu)的樣式,而不僅僅應(yīng)用于單個(gè)視圖。
在項(xiàng)目的 res/values/styles.xml 文件,創(chuàng)建需要的樣式
#00FF00
使用 parent 屬性指定要擴(kuò)展的樣式
創(chuàng)建主題背景, 像創(chuàng)建樣式一樣
@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
將深色”主題背景應(yīng)用于整個(gè)應(yīng)用:
對(duì) AndroidManifest.xml 文件中的 標(biāo)簽或 標(biāo)簽應(yīng)用具有 android:theme 屬性的主題背景
樣式層次結(jié)構(gòu)
如果您在多個(gè)位置指定了相同的屬性,下面的列表決定了最終將應(yīng)用哪些屬性。該列表從最高優(yōu)先級(jí)到最低優(yōu)先級(jí)排序:
通過(guò)文本 span 將字符或段落級(jí)樣式應(yīng)用到 TextView 派生類
以編程方式應(yīng)用屬性
將單獨(dú)的屬性直接應(yīng)用到 View
將樣式應(yīng)用到 View
默認(rèn)樣式
將主題背景應(yīng)用于 View、Activity 或您的整個(gè)應(yīng)用
應(yīng)用某些特定于 View 的樣式,例如在 TextView 上設(shè)置 TextAppearance
深色主題背景
Android 10 (API 級(jí)別 29) 及更高版本中提供深色主題背景
更改應(yīng)用內(nèi)主題背景
當(dāng)應(yīng)用在搭載 Android 9 或更低版本的設(shè)備上運(yùn)行時(shí),推薦的主題背景選項(xiàng)是:
淺色
深色
由省電模式設(shè)置(推薦的默認(rèn)選項(xiàng))
在 Android 10 (API 級(jí)別 29) 及更高版本上運(yùn)行時(shí),推薦的選項(xiàng)有所不同,目的是允許用戶替換系統(tǒng)默認(rèn)設(shè)置:
淺色
深色
系統(tǒng)默認(rèn)(推薦的默認(rèn)選項(xiàng))
請(qǐng)注意,如果用戶選擇“Light”,省電模式不會(huì)更改該設(shè)置。
每個(gè)選項(xiàng)直接映射到以下某個(gè) AppCompat.DayNight 模式:
淺色 - MODE_NIGHT_NO
深色 - MODE_NIGHT_YES
由省電模式設(shè)置 - MODE_NIGHT_AUTO_BATTERY
系統(tǒng)默認(rèn) - MODE_NIGHT_FOLLOW_SYSTEM
如要切換主題背景,請(qǐng)調(diào)用 AppCompatDelegate.setDefaultNightMode()。
響應(yīng)主題背景的更改
每個(gè) Activity 都可以處理 uiMode 配置變更,以自行處理深色主題背景
android:name=".MyActivity"
android:configChanges="uiMode" />
系統(tǒng)會(huì)在出現(xiàn)主題背景變更時(shí)調(diào)用該 Activity 的 onConfigurationChanged() 方法
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig);
val currentNightMode = configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
when (currentNightMode) {
Configuration.UI_MODE_NIGHT_NO -> {} // Night mode is not active, we're using the light theme
Configuration.UI_MODE_NIGHT_YES -> {} // Night mode is active, we're using dark theme
}
}
Reference 參考
其他文章
總結(jié)
以上是生活随笔為你收集整理的android白色暗色主题,使用Kotlin开发Android应用(12) - Dark theme 暗色主题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【python爬虫笔记】验证码
- 下一篇: 炫酷进度条:Android 仿应用宝下载