寫在最前面的話
最開始我在畢業(yè)的時候做Android,當時還沒到Android5.0,沒有Material Design,當時的設(shè)計都是以立體仿3d效果為主。后來有了扁平化設(shè)計,我卻開始了SDK各種功能組件庫的開發(fā),幾乎不涉及到任何界面開發(fā),對Material Design了解真的不是很多。網(wǎng)上關(guān)于Material Design的學習資料很多,但也很雜,沒有一個成體系的介紹,我打算做一個專題來介紹Material Design。我現(xiàn)在也是邊學習邊總結(jié),所以寫出的文章適合初學者學習,大神請忽略。如果有什么不對,歡迎指正。
Material Design是什么
Material Design是一種設(shè)計風格,是谷歌為廣大開發(fā)者提供的一種全新的設(shè)計風格,同事提供了相關(guān)的庫方便開發(fā)者進行開發(fā)。這包括字體,主題,組件等。
如果只適配Android5.0之后的版本,如果需要適配之前的版本,需要依賴一個額外的庫。這個后面會提到。
Material Design的特點是:
- 扁平化、簡潔
- 水波反饋
- 良好體驗的過渡動畫
- 材料空間位置的直觀變化
在這里看一下效果:

Android Design Support Library
就像上面提到的,如果適配5.0以下的系統(tǒng),需要添加Android Design Support Library,這可以適配到2.1以上的系統(tǒng)。
compile ‘com.android.support:design:23.2.1’
組件
Android Design Support Library中包含了一些常用的組件,這些我們都放到后面的文章中介紹,這里只做簡單的介紹:
- android.support.design.widget.TextInputLayout 強大帶提示的MD風格的EditText
- android.support.design.widget.FloatingActionButton MD風格的圓形按鈕,來自于ImageView
- android.support.design.widget.Snackbar 類似Toast,添加了簡單的單個Action
- android.support.design.widget.TabLayout 選項卡
- android.support.design.widget.NavigationView DrawerLayout的SlideMenu
- android.support.design.widget.CoordinatorLayout 超級FrameLayout
- android.support.design.widget.AppBarLayout MD風格的滑動Layout
- android.support.design.widget.CollapsingToolbarLayout 可折疊MD風格ToolbarLayout
風格
其實這篇文章我還暫時沒打算介紹代碼相關(guān)的東西,既然說了是前言,主要是先有個材質(zhì)設(shè)計的概念。
http://www.uisdc.com/comprehensive-material-design-note 這篇文章詳細介紹Material Design的風格很全面。我以下介紹會有一部分內(nèi)容來自該文章。除了程序員,產(chǎn)品經(jīng)理還是需要看看的,不要一設(shè)計就是仿照IOS的風格,Android是有自己的風格的,真的不比IOS差。
Material Design將物理世界的許多特性帶進了手機世界中。有了各種效果如水波紋,伸縮等,同時引入了Z軸的概念。