直接拿來用!十大Material Design開源項目

介于擬物和扁平之間的Material Design自面世以來粟誓,便引起了很多人的關(guān)注與思考寺谤,就此產(chǎn)生的討論也不絕于耳。本文詳細(xì)介紹了在Android開發(fā)者圈子里頗受青睞的十個Material Design開源項目吮播,從示例变屁、FAB舆乔、菜單来累、動畫沸停、Ripple到Dialog当窗,看被稱為“Google第一次在設(shè)計語言和規(guī)范上超越了Apple”的Material Design是如何逐漸成為App的一種全新設(shè)計標(biāo)準(zhǔn)歪脏。
1. MaterialDesignLibrary
在眾多新晉庫中宵膨,MaterialDesignLibrary可以說是頗受開發(fā)者矚目的一個控件效果庫运杭,能夠讓開發(fā)者在Android 2.2系統(tǒng)上使用Android 5.0才支持的控件效果蛹头,比如扁平院塞、矩形遮晚、浮動按鈕,復(fù)選框以及各式各樣的進度指示器等拦止。


除上述之外县遣,MaterialDesignLibrary還擁有SnackBar、Dialog汹族、Color selector組件萧求,可非常便捷地對應(yīng)用界面進行設(shè)置。

進度指示器樣式效果設(shè)置:

<com.gc.materialdesign.views.ProgressBarCircularIndetermininate    
                android:id="@+id/progressBarCircularIndetermininate"    
                android:layout_width="32dp"    
                android:layout_height="32dp"    
                android:background="#1E88E5" />  

Dialog:

Dialog dialog = new Dialog(Context context,String title, String message);  
dialog.show();  

相關(guān)鏈接:MaterialDesignLibrary的mobilehub主頁
2. RippleEffect
由來自法蘭西的Robin Chutaux開發(fā)的RippleEffect基于MIT許可協(xié)議開源顶瞒,能夠在Android API 9+上實現(xiàn)Material Design夸政,為開發(fā)者提供了一種極為簡易的方式來創(chuàng)建帶有可擴展視圖的header視圖,并且允許最大程度上的自定制榴徐。


用法(在XML文件中聲明一個RippleView):


<com.andexert.library.RippleView  
  android:id="@+id/more"  
  android:layout_width="?android:actionBarSize"  
  android:layout_height="?android:actionBarSize"  
  android:layout_toLeftOf="@+id/more2"  
  android:layout_margin="5dp"  
  ripple:rv_centered="true">  
  
  <ImageView  
    android:layout_width="?android:actionBarSize"  
    android:layout_height="?android:actionBarSize"  
    android:src="@android:drawable/ic_menu_edit"  
    android:layout_centerInParent="true"  
    android:padding="10dp"  
    android:background="@android:color/holo_blue_dark"/>  
  
</com.andexert.library.RippleView>  

相關(guān)鏈接:RippleEffect的mobilehub主頁
3. MaterialEditText
隨著Material Design的到來守问,AppCompat v21也為開發(fā)者提供了Material Design的控件外觀支持,其中就包括EditText坑资,但卻并不好用酪碘,沒有設(shè)置顏色的API,也沒有任何Google Material Design Spec中提到的特性盐茎。于是兴垦,來自國內(nèi)的開發(fā)者“扔物線”開發(fā)了MaterialEditText庫,直接繼承EditText,無需修改Java文件即能實現(xiàn)自定義控件顏色探越。


自定義Base Color:

app:baseColor="#0056d3"  

自定義Error Color:

app:maxCharacters="10"  
app:errorColor="#ddaa00"  


相關(guān)鏈接:MaterialEditText的mobilehub主頁
4. Android-LollipopShowcase
Android-LollipopShowcase是由來自奧地利的移動狡赐、后端及Web開發(fā)者Mike Penz所開發(fā)的演示應(yīng)用,集中演示了新Material Design中所有的UI效果钦幔,以及Android Lollipop中其他非痴硖耄酷炫的特性元素,比如Toolbar鲤氢、RecyclerView搀擂、ActionBarDrawerToggle、Floating Action Button(FAB)卷玉、Android Compat Theme等哨颂。

相關(guān)鏈接:Android-LollipopShowcase的mobilehub主頁
5. MaterialList
MaterialList是一個能夠幫助所有Android開發(fā)者獲取谷歌UI設(shè)計規(guī)范中新增的CardView(卡片視圖)的開源庫,支持Android 2.3+系統(tǒng)相种。作為ListView的擴展威恼,MaterialList可以接收、存儲卡片列表寝并,并根據(jù)它們的Android風(fēng)格和設(shè)計模式進行展示箫措。此外,開發(fā)者還可以創(chuàng)建專屬于自己的卡片布局衬潦,并輕松將其添加到CardList中斤蔓。

使用過程代碼,在布局中聲明MaterialListView:


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:paddingLeft="@dimen/activity_horizontal_margin"  
    android:paddingRight="@dimen/activity_horizontal_margin"  
    android:paddingTop="@dimen/activity_vertical_margin"  
    android:paddingBottom="@dimen/activity_vertical_margin">  
  
    <com.dexafree.materiallistviewexample.view.MaterialListView  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent"  
        android:id="@+id/material_listview"/>  
  
</RelativeLayout>  

相關(guān)鏈接:MaterialList的mobilehub主頁
6. android-floating-action-button
Floating Action Button(FAB)是眾多專家大牛針對Material Design討論比較細(xì)化的一個點镀岛,通過圓形元素與分割線附迷、卡片、各種Bar的直線形成鮮明對比哎媚,并使用色彩設(shè)定中鮮艷的輔色喇伯,帶來更具突破性的視覺效果。也正因如此拨与,在Github上稻据,有著許多與FAB相關(guān)的開源項目,基于Material Design規(guī)范的開源Android浮動Action Button控件android-floating-action-button便是其中之一买喧。


其主要特性如下:

支持常規(guī)56dp和最小40dp的按鈕捻悯;
支持自定義正常、Press狀態(tài)以及可拖拽圖標(biāo)的按鈕背景顏色淤毛;
AddFloatingActionButton類能夠讓開發(fā)者非常方便地直接在代碼中寫入加號圖標(biāo)今缚;
FloatingActionsMenu類支持展開/折疊顯示動作。

相關(guān)鏈接:android-floating-action-button的mobilehub主頁
7. android-ui
android-ui是Android UI組件類庫低淡,支持Android API 14+姓言,包含了ActionView瞬项、RevealColorView等UI組件。其中何荚,ActionView可使Action動作顯示動畫效果囱淋,而RevealColorView則帶來了Android 5.0中的圓形顯示/隱藏動畫體驗。


相關(guān)鏈接:android-ui的mobilehub主頁
8. Material Menu
Material Menu為開發(fā)者帶來了非巢吞粒酷炫的Android菜單妥衣、返回、刪除以及檢查按鈕變形戒傻,完全控制動畫税手,并為開發(fā)者提供了兩種MaterialMenuDrawable包裝。

自定義顏色等操作:

// change color  
MaterialMenu.setColor(int color)  
  
// change transformation animation duration  
MaterialMenu.setTransformationDuration(int duration)  
  
// change pressed animation duration  
MaterialMenu.setPressedDuration(int duration)  
  
// change transformation interpolator  
MaterialMenu.setInterpolator(Interpolator interpolator)  
  
// set RTL layout support  
MaterialMenu.setRTLEnabled(boolean enabled)  

相關(guān)鏈接:Material Menu的mobilehub主頁
9. Android-ObservableScrollView
Android-ObservableScrollView是一款用于在滾動視圖中觀測滾動事件的Android庫需纳。它能夠輕而易舉地與Android 5.0 Lollipop引進的工具欄(Toolbar)進行交互芦倒,還可以幫助開發(fā)者實現(xiàn)擁有Material Design應(yīng)用視覺體驗的界面外觀,支持ListView候齿、ScrollView、WebView闺属、RecyclerView慌盯、GridView組件。


交互代碼回調(diào):


@Override  
    public void onUpOrCancelMotionEvent(ScrollState scrollState) {  
        ActionBar ab = getSupportActionBar();  
        if (scrollState == ScrollState.UP) {  
            if (ab.isShowing()) {  
                ab.hide();  
            }  
        } else if (scrollState == ScrollState.DOWN) {  
            if (!ab.isShowing()) {  
                ab.show();  
            }  
        }  
    }  

相關(guān)鏈接:Android-ObservableScrollView的mobilehub主頁
10. Material Design Icons
最后掂器,再來介紹一下Google Material Design規(guī)范的官方開源圖標(biāo)集Material Design Icons亚皂。良心Google開源了包括Material Design系統(tǒng)圖標(biāo)包在內(nèi)的750個字形,涵蓋動作国瓮、音視頻灭必、通信、內(nèi)容乃摹、編輯器禁漓、文件、硬件孵睬、圖像播歼、地圖、導(dǎo)航掰读、通知秘狞、社交等各個方面,適用于Web蹈集、Android和iOS應(yīng)用開發(fā)烁试,絕對是開發(fā)者及設(shè)計師必備的資源。


圖標(biāo)格式主要包括:

SVG格式拢肆,24px和48px减响;
SVG和CSS Sprites靖诗;
適用于Web平臺的1x、2x PNG格式圖標(biāo)辩蛋;
適用于iOS的1x呻畸、2x、3x PNG圖標(biāo)悼院;
所有圖標(biāo)的Hi-dpi版本(hdpi伤为、mdpi、xhdpi据途、xxhdpi绞愚、xxxhdpi)。

相關(guān)鏈接:Material Design Icons的mobilehub主頁

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颖医,一起剝皮案震驚了整個濱河市位衩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌熔萧,老刑警劉巖糖驴,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異佛致,居然都是意外死亡贮缕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門俺榆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來感昼,“玉大人,你說我怎么就攤上這事罐脊《ㄉぃ” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵萍桌,是天一觀的道長宵溅。 經(jīng)常有香客問我,道長上炎,這世上最難降的妖魔是什么层玲? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮反症,結(jié)果婚禮上辛块,老公的妹妹穿的比我還像新娘。我一直安慰自己铅碍,他們只是感情好润绵,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著胞谈,像睡著了一般尘盼。 火紅的嫁衣襯著肌膚如雪憨愉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天卿捎,我揣著相機與錄音配紫,去河邊找鬼。 笑死午阵,一個胖子當(dāng)著我的面吹牛躺孝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播底桂,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼植袍,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了籽懦?” 一聲冷哼從身側(cè)響起于个,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎暮顺,沒想到半個月后厅篓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡捶码,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年羽氮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宙项。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡乏苦,死狀恐怖株扛,靈堂內(nèi)的尸體忽然破棺而出尤筐,到底是詐尸還是另有隱情,我是刑警寧澤洞就,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布盆繁,位于F島的核電站,受9級特大地震影響旬蟋,放射性物質(zhì)發(fā)生泄漏油昂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一倾贰、第九天 我趴在偏房一處隱蔽的房頂上張望冕碟。 院中可真熱鬧,春花似錦匆浙、人聲如沸安寺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挑庶。三九已至言秸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間迎捺,已是汗流浹背举畸。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凳枝,地道東北人抄沮。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像范舀,于是被迫代替她去往敵國和親合是。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容