天天看點

android5.0:Material Design簡介

Material Design

Material Design簡介

Material Design是谷歌新的設計語言,谷歌希望寄由此來統一各種平台上的使用者體驗,Material Design的特點是幹淨的排版和簡單的布局,以此來突出内容。

Material Design對排版、材質、配色、光效、間距、文字大小、互動方式、動畫軌迹都做出了建議,以幫助設計者設計出符合Material Design風格的應用。

Material Design設計語言鼓勵大家使用充滿活力的鮮豔色彩,并在同一界面建議使用三種色調,并保障有一個強色調,強色一般處于處于視圖最底層,例如狀态欄或者actionbar。通過強色調形成鮮明的對比,更容易突出内容的重要性。對于文字色彩的取值,Material Design建議在淺色背景上采用黑色,在深色背景上采用白色。重要資訊和标題采用87%透明度,次要文字采用54%透明度,而更次要的說明文字可以采用26%的透明度。對于想特别突出或者可點選的文字,建議使用強色調。不同層級的視圖,可以通過陰影來凸顯。對于帶有操作且内容突出的區域,可以使用cardview進行隔離,對于内容不太重要或者操作比較單一的區域,可以使用分割線進行隔離。

更多詳情請見Material Design文檔:

中文版網站 http://design.1sters.com/

英文版 http://www.google.com/design/spec/material-design/introduction.html

Material Design使用

作為我們開發者,最關心的還是如何在項目中使用Material Design風格:

  1. 設定應用的 

    targetSdkVersion

     和 

    targetSdkVersion

     為21
  2. 在values目錄下的style資源檔案中建立一個style,讓其繼承自 

    android:Theme.Material

  3. 在AndroidManifest中指定應用的主題或者Activity的主題為我們設定的樣式

谷歌官方我們提供了三種配色風格的Material Design樣式:

  1. 黑色主題 

    Theme.Material

  2. 明亮主題 

    Theme.Material.Light

  3. 明亮主題黑色ActionBar 

    Theme.Material.Light.DarkActionBar

我們也可以繼承系統提供的Material Design樣式,進行配色修改:

android5.0:Material Design簡介
  1. android:colorPrimaryDark

     應用的主要暗色調,statusBarColor預設使用該顔色
  2. android:statusBarColor

     狀态欄顔色,預設使用colorPrimaryDark
  3. android:colorPrimary

     應用的主要色調,actionBar預設使用該顔色
  4. android:windowBackground

     視窗背景顔色
  5. android:navigationBarColor

     底部欄顔色
  6. android:colorForeground

     應用的前景色,ListView的分割線,switch滑動區預設使用該顔色
  7. android:colorBackground

     應用的背景色,popMenu的背景預設使用該顔色
  8. android:colorAccent

     一般控件的選種效果預設采用該顔色
  9. android:colorControlNormal

     控件的預設色調 
  10. android:colorControlHighlight

     控件按壓時的色調
  11. android:colorControlActivated

     控件選中時的顔色,預設使用colorAccent
  12. android:colorButtonNormal

     預設按鈕的背景顔色
  13. android:textColor

     Button,textView的文字顔色
  14. android:textColorPrimaryDisableOnly

     RadioButton checkbox等控件的文字
  15. android:textColorPrimary

     應用的主要文字顔色,actionBar的标題文字預設使用該顔色

主題不僅可以對

Application

Activity

使用,也可以對某一個控件單使用,或者是在xml布局中給一個根節點控件設定android:theme屬性,來修改它和它所有子控件的主題。 如果我們要對特定控件執行個體做自定義修改,更建議大家可以通過控件自身的API進行設定修改。

Material Design相容性

Material Design主題隻有在API級别為21以上才可使用,在v7支援庫中提供了部分控件的Material Design主題樣式,如果想使應用在android的所有版本上都能統一風格,我們可以對控件效果做自定義或者使用一些第三方的相容包。目前最有效的做法是針對21版本建立value-21資源目錄,使用Material Design風格主題,在其他版本使用v7的Theme.AppCompat.Light風格主題。

繼續閱讀