Android Theme 主題吧,這也算是大家可能都算不上熟悉的基礎知識了,有時我們可能還會碰上 報 Theme 的錯,所以大家最好都會 Android 的 Theme 做到如數家珍,真碰到問題時也知道怎么回事,要不先找真是挺費勁的
系統自帶主題如下:
API 1:
- android:Theme 根主題
- android:Theme.Black 背景黑色
- android:Theme.Light 背景白色
- android:Theme.Wallpaper 以桌面墻紙為背景
- android:Theme.Translucent 透明背景
- android:Theme.Panel 平板風格
- android:Theme.Dialog 對話框風格
API 11:
- android:Theme.Holo Holo根主題
- android:Theme.Holo.Black Holo黑主題
- android:Theme.Holo.Light Holo白主題
API 14:
- Theme.DeviceDefault 設備默認根主題
- Theme.DeviceDefault.Black 設備默認黑主題
- Theme.DeviceDefault.Light 設備默認白主題
API 21: (網上常說的 Android Material Design 就是要用這種主題)
- Theme.Material Material根主題
- Theme.Material.Light Material白主題
兼容包v7中帶的主題:
- Theme.AppCompat 兼容主題的根主題
- Theme.AppCompat.Black 兼容主題的黑色主題
- Theme.AppCompat.Light 兼容主題的白色主題
Material 的主題使用時需要注意:
- Material theme 只能在 21 以上運行
- Material theme 是在 android.Theme 下的
<style name="SplashTheme" parent="android:Theme.Material.Dialog">
style="@android:style/Theme.Material.Dialog"
主題風格如下:
- Black 黑色風格
- Light 光明風格
- Dark 黑暗風格
- DayNight 白晝風格
- Wallpaper 墻紙為背景
- Translucent 透明背景
- Panel 平板風格
- Dialog 對話框風格
- NoTitleBar 沒有TitleBar
- NoActionBar 沒有ActionBar
- Fullscreen 全屏風格
- MinWidth 對話框或者ActionBar的寬度根據內容變化,而不是充滿全屏
- WhenLarge 對話框充滿全屏
- TranslucentDecor 半透明風格
- NoDisplay 不顯示,也就是隱藏了
- WithActionBar 在舊版主題上顯示ActionBar
主題配置解析
主題里面很多配置參數的,大多數沒法從字面意思猜是嗎干的,要不很可能南轅北轍
顏色配置
- windowBackground
app默認的背景 - navigationBarColor
navigation bar頁腳的背景色 - colorPrimaryDark
app 黑的基本色,主要用來做notification bar的背景. - colorPrimary
app 的基本顏色,將用作toolbar的背景色 - textColorPrimary
app 的文本顏色,用于toolbar的標題 - statusBarColor
狀態欄顏色,21 以上有效
各種透明,數值都是 boolean 的
- windowIsTranslucent
主題背景透明
顏色配置
自動提示
AS 里 使用 Theme 自動提示就能出來,但是使用 style 我們可以看到更多的設置,比如各種系統 view 的主題
AS 3.4 版本