標籤:android material design
官網地址:https://developer.android.com/intl/zh-tw/training/material/theme.html
新的Material主題提供了:
系統Widgets可設定它們的調色盤
系統Widgets的觸摸反饋動畫
Activity的過渡動畫
您可以自訂Material主題,根據你的品牌識別,用一個調色盤來控制。
可以使用主題屬性來為操作欄和狀態列著色,:
Material主題的定義:
@android:style/Theme.Material (dark version)
@android:style/Theme.Material.Light (light version)
@android:style/Theme.Material.Light.DarkActionBar
註:Material主題只能5.0(api21)及以上才能使用support-v7提供了相容支援,在target-api<21上可以建一個res/values-21目錄放置屬於Material相關的Style
Customize the Color Palette 自訂調色盤自訂基於顏色的適合你的品牌的主題,當繼承了Material主題時,可以使用Material主題中的屬性來自訂色彩
<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>
Customize the Status Bar 自訂狀態列Material主題可以讓你輕鬆地定製狀態列,所以您可以指定一個適合你品牌的顏色,並提供足夠的對比顯示白色的狀態表徵圖,
當繼承自Material主題時,設定狀態列時自訂色彩:android:statusBarColor。預設情況下,android:statusBarColor繼承了android:colorPrimaryDark。
你可以自己繪製狀態列。例如,你想在照片上能明顯的顯示狀態列,用一個細微的黑色漸層來確保白色狀態列表徵圖可見。為此,設定android:statusBarColor屬性為@android:color/transparent,並根據需要調整Window的flags。對於動畫或消退(fading),你也可以使用Window.setStatusBarColor()方法
當你自訂導航和狀態列時,要麼使它們都透明,要麼只修改狀態列。導覽列在其他所有情況下必須保持黑色。
Theme Individual Views 個人主題View在layout的xml定義中,可以使用android:theme來指定該View所適用的主題,指定後,它將改變當前View及其子View的theme。
Android(Lollipop/5.0) Material Design(三) 使用Material主題