W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
編寫: allenlsy - 原文: https://developer.android.com/training/material/theme.html
新的 Material 主題提供:
你可以根據(jù)你的品牌特征修改調(diào)色板,從而自定義 Material 主題。你可以通過主題屬性調(diào)整 action bar 和狀態(tài)欄的顏色,就像下圖一樣:
系統(tǒng)組件擁有新的設(shè)計和觸摸反饋動畫。你可以自定義調(diào)色板,反饋動畫和 Activity 切換動畫。
Material 主題被定義在:
@android:style/Theme.Material
(暗色版本)@android:style/Theme.Material.Light
(亮色版本)@android:style/Theme.Material.Light.DarkActionBar
想知道可用的 Material style 的列表,可以在 API 文檔中參見 R.style.
Note: Material 主題只支持 Android 5.0 (API level 21) 及以上版本。v7 Support 庫提供了一些組件的 Material Deisgn 樣式,也支持自定義調(diào)色板。更多信息,請參見維護兼容性章節(jié)。
在根據(jù)自己的品牌自定義調(diào)色板時,你需要在繼承 material 主題時定義 theme 屬性。
<resources>
<!-- inherit from the material theme -->
<style name="AppTheme" parent="android:Theme.Material">
<!-- Main theme colors -->
<!-- your app branding color for the app bar -->
<item name="android:colorPrimary">@color/primary</item>
<!-- darker variant for the status bar and contextual app bars -->
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<!-- theme UI controls like checkboxes and text fields -->
<item name="android:colorAccent">@color/accent</item>
</style>
</resources>
Material 主題使得你很容易自定義狀態(tài)欄,你可以設(shè)定適合自己品牌的顏色,并提供足夠的對比度,以顯示白色的狀態(tài)圖標(biāo)。設(shè)置狀態(tài)欄顏色時,要在繼承 Material 主題時設(shè)定 android:statsBarColor
屬性。默認情況下,android:statusBarColor
會繼承 android:colorPrimaryDark
的值。
你也可以在狀態(tài)欄的背景上繪畫。比如,你想讓位于照片之上的狀態(tài)欄透明,并保留一點深色漸變以確保白色圖標(biāo)可見。這樣的話,設(shè)定 android:statusBarColor
屬性為 @android:color/transparent
并調(diào)整窗口的 Flag 標(biāo)記。你也可以用 Window.setStatusBarColor()
來實現(xiàn)動畫或淡入淡出。
Note: 狀態(tài)欄必須隨時保持和 primary toolbar (即頂部Actionbar,譯者注) 的界線清晰。除了一種情況,即在狀態(tài)欄后面顯示圖片或媒體內(nèi)容時之外,你都要用漸變色來確保前臺圖標(biāo)仍然可見。
當(dāng)你自定義導(dǎo)航欄和狀態(tài)欄時,要么兩者都透明,要么只修改狀態(tài)欄。其他情況下,導(dǎo)航欄應(yīng)該保持黑色。
XML layout 中的元素可以定義 android:theme
屬性, 用于引用主題資源。這個屬性修改了自己和子元素的主題,對于要修改局部顏色主題的情況十分有用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: