簡介
在android4.0有了holo主題,holo本身繼承於theme主題,而holo.noactionbar ,holo.dialog,holo.light這些都是衍生自holo主題
在android5.0有了material主題,俗稱材料主題,也是繼承於theme主題
theme原始碼簡析
以android6.0為例,檢視系統原始碼這個位置 :frameworks/base/core/res/res/value/,發現有如下幾個theme檔案。
擷取部分theme.xml:
name="theme">
name="islighttheme">falseitem>
name="colorforeground">@color/bright_foreground_darkitem>
name="colorforegroundinverse">@color/bright_foreground_dark_inverseitem>
name="colorbackground">@color/background_darkitem>
name="colorbackgroundfloating">?attr/colorbackgrounditem>
name="colorbackgroundcachehint">?attr/colorbackgrounditem>
複製**
擷取部分theme_metarial.xml
name="theme.material">
name="colorforeground">@color/foreground_material_darkitem>
name="colorforegroundinverse">@color/foreground_material_lightitem>
name="colorbackground">@color/background_material_darkitem>
name="colorbackgroundfloating">@color/background_floating_material_darkitem>
name="colorbackgroundcachehint">@color/background_cache_hint_selector_material_darkitem>
name="disabledalpha">@dimen/disabled_alpha_material_darkitem>
name="backgrounddimamount">0.6item>
複製**
下面直觀感受下各種theme的區別
- android:theme.holo.light
- android:theme.devicedefault.light
- android:theme.material.light
如果把主題設為theme.material,然後minsdkversion改為19,安裝到android4.4的裝置會是什麼效果
可以看出material在android4.4系統上無法使用,而是自動替換成為holo主題,那麼怎麼在android5.0之前的裝置使用material主題呢?
測試裝置: htc one 系統版本:4.4
Android 樣式和主題
android樣式定義在res values styles.xml中 在layout中引用 在android中樣式也可以繼承。當定義的樣式需要繼承其他樣式,如樣式text content要繼承text的樣式,可以這樣寫 在layout中引用 也可以這樣寫 在layout中引用 樣式是定義在具體元件上...
Android樣式和主題
1 style樣式可以為view或者視窗指定統一的外觀和格式。比如可以指定 寬高尺寸 字型顏色 字型大小 背景顏色等屬性。2 方式 style可以通過在xml資源檔案中進行定義,然後在布局檔案或者 中進行引用。3 定義樣式 在res values 目錄中建立styles.xml檔案,在該xml檔案中...
android樣式和主題 style theme
android中的樣式和css樣式作用相似,都是用於為介面元素定義顯示風格,它是乙個包含乙個或者多個view控制項屬性的集合。如 需要定義字型的顏色和大小。在css中是這樣定義的 可以像這樣使用上面的css樣式 杜承玖 在android中可以這樣定義樣式 在res values styles.xml...