Android之主題樣式開發詳解

本文和大家分享的主要是android開發主題樣式相關內容,一起來看看吧,希望對大家學習和使用這部分內容有所幫助。
  app如何設置主題
  1. res/values/styles.xml文件中添加代碼:
<resources>
    <style name="AppBaseTheme" parent="android:Theme"></style>
    <style name="AppTheme" parent="AppBaseTheme"></style>
</resources>
  2. res/values-v11/styles.xmlres/values-v14/styles.xml文件中添加代碼:
<resources>
    <style name="AppTheme" parent="AppBaseTheme"></style>
</resources>
  1. AndroidManifest.xml設置
  application標籤中的@style/AppTheme引用自哪個文件夾中的styles.xml,這是根據運行此程序的手機系統來決定的,如果手機系統的API版本是11以上就是v11/styles.xmlAPI版本是14以上就是v14/styles.xml,以此類推。我們可以通過修改AppBaseTheme的父主題來實現我們需要的樣式,此文章主要就是來討論這個主題如何修改。
  主題的來源
  · Android系統自帶的
  · 來自兼容包的(比如v7兼容包)
  · 自定義的主題
  使用android系統中自帶的主題要加上"android:",如:android:Theme.Black
  使用v7兼容包中的主題不需要前綴,如:Theme.AppCompat
  主題的樣式
  系統自帶主題:
  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:
  android:Theme.DeviceDefault 設備默認根主題
  android:Theme.DeviceDefault.Black 設備默認黑主題
  android:Theme.DeviceDefault.Light 設備默認白主題
  API 21: (網上常說的 Android Material Design 就是要用這種主題)
  android:Theme.Material Material根主題
  android:Theme.Material.Light Material白主題
  兼容包v7中帶的主題:
  Theme.AppCompat 兼容主題的根主題
  Theme.AppCompat.Black 兼容主題的黑色主題
  Theme.AppCompat.Light 兼容主題的白色主題
  注意:
  1.Theme.AppCompat主題是兼容主題的意思是說如果運行程序的手機API21則就相當於是Material主題,如果運行程序的手機API11則就相當於是Holo主題,以此類推。
  2.兼容包v7會被Google公司不斷升級:
  比如 appcompat-v7-21.0 表示升級到向 API 21 兼容
  比如 appcompat-v7-23.2 表示升級到向 API 23 兼容
  3.所有能應用於應用程序主題都是以“Theme.”開頭
  不是以“Theme.”開頭的就不是應用程序主題,而是用於某些局部控件
  比如“ThemeOverlay”主題,可用於 Toolbar 控件。
  比如“TextAppearance”主題,可用於設置文字外觀。
  比如在v7中有很多以“Base”開頭的主題,是一些父主題,不建議直接使用。
  報錯原因:
  · 需要提升最低API版本
  · 需要更高版本的SDK
  · 兼容包版本不對
  · 需要手動指定寬高
  · 繼承錯誤
  比如窗體必須繼承AppCompactActivity,或者要繼承ActionBarActiivty,或者要繼承FragmentActivity
  更多主題:
  以下都是指包含,比如包含“Dialog”表示對話框風格
  比如Theme.DialogTheme.Holo.DialogTheme.Material.DialogTheme.AppCompat.Dialog都是對話框風格
  Black 黑色風格
  Light 光明風格
  Dark 黑暗風格
  DayNight 白晝風格
  Wallpaper 牆紙爲背景
  Translucent 透明背景
  Panel 平板風格
  Dialog 對話框風格
  NoTitleBar 沒有TitleBar
  NoActionBar 沒有ActionBar
  Fullscreen 全屏風格
  MinWidth 對話框或者ActionBar的寬度根據內容變化,而不是充滿全屏
  WhenLarge 對話框充滿全屏
  TranslucentDecor 半透明風格
  NoDisplay 不顯示,也就是隱藏了
  WithActionBar 在舊版主題上顯示ActionBar
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章