Android樣式和主題 二 系統有哪些主題

2021-09-24 08:27:48 字數 1628 閱讀 9848

簡介

在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...