Android 掃盲 - Theme 主題

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 版本
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,296評論 25 708
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 12,947評論 2 59
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,556評論 2 45
  • _____一夢黃粱、 看透世俗規則的老馬____ 懵懂曚昽的小青__ 再遇老馬,風淡輕云,奮不顧身的樣子讓人...
    馬甲先生的書信閱讀 257評論 2 0
  • 1.自主意識特別強。 主要表現在他希望事事處處都是按著自己的意愿來,因此對父母常常是"抗旨不遵","我不要那樣,我...
    曼呼吸閱讀 11,780評論 0 0