Material Design 的常用控件,讓你的頁面更酷炫

????????自從谷歌在2014年的IO大會上推出了Material Design新的設(shè)計規(guī)范后,安卓應(yīng)用的整體美觀程度提升了很大的一個層次, 安卓再也不是又黑又丑的界面,取而代之的是擁有豐富的顏色,美觀的按鈕,好的用戶體驗;針對Material Design推出的新控件做個簡單的說明和使用介紹缰趋,加深印象:

DrawLayout ??NavigationView

????????在Materil Design中,NavigationView作為一個抽屜導(dǎo)航來實現(xiàn)app內(nèi)部的交互,讓實現(xiàn)更簡單,同時還能直接通過菜單資源元素直接生成導(dǎo)航元素;NavigationView 的使用需要結(jié)合DrawLayout一起使用捧杉。


navigation_menu的使用


注意:其中checked=”true”的item將會高亮顯示,這可以讓用戶知道當(dāng)前選中的菜單項是哪個秘血。當(dāng)然,item的選中狀態(tài)可以在代碼中設(shè)置;

注意:我們上面實現(xiàn)的是menu菜單的點擊事件,我們?nèi)绻卣{(diào)headerLayout的點擊事件該怎么寫呢,NavigationView并沒有提供一個類似于menu的點擊監(jiān)聽,而是提供了一個getHeaderView(int index)的api,所以頭布局的點擊事件應(yīng)該這么寫:

mNavigationView.getHeaderView(0).setOnClickListener(new?View.OnClickListener()?{??

????????????????????@Override??

????????????????????public?void?onClick(View?v)?{??

????????????????????????????????Toast.makeText(NavigationViewActivity.this,"Pic",Toast.LENGTH_SHORT).show();??

??????????????????????}??

? ? }); ?

小貼士:NavigationView還提供了一個getHeaderCount()的api返回頭布局一共有多少個子view,可以實現(xiàn)任一控件的監(jiān)聽;

TextInputLayout ?注意:?TextInputLayout的顏色來自style中的colorAccent的顏色,除了顯示提示信息味抖,還可以通過調(diào)用setError()在EditText下面顯示一條錯誤信息。

FloatingActonButton ??懸浮操作按鈕 (SnackBar 類似于toash的使用)

是一個負責(zé)顯示界面基本操作的圓形按鈕,它實現(xiàn)了一個默認顏色為主題中colorAccent的懸浮操作按鈕灰粮,它是一個帶有陰影的圓形按鈕仔涩,可以通過fabSize來改變其大小;有以下屬性:

默認顏色為colorAccent的顏色值,可以通過app:backgroundTint 屬性或者setBackgroundTintList (ColorStateList tint)方法去改變背景顏色。

改變尺寸:通過設(shè)置 app:fabSize 屬性(mini or normal)

android:src 改變drawable

app:rippleColor 設(shè)置點擊時候的顏色(水波紋效果)

app:borderWidth 設(shè)置button的邊框?qū)挾?該屬性尤為重要谋竖,如果不設(shè)置0dp红柱,那么在4.1的sdk上FAB會顯示為正方形承匣,而且在5.0以后的sdk沒有陰影效果。所以設(shè)置為borderWidth=”0dp”

app:elevation 設(shè)置平常陰影狀態(tài)的深度(默認6dp)

app:pressedTranslationZ 設(shè)置點擊狀態(tài)的陰影深度(默認12dp)

app:layout_anchor - 設(shè)置FAB的錨點锤悄,即以哪個控件為參照點設(shè)置位置

app:layout_anchorGravity - 設(shè)置FAB相對錨點的位置韧骗,值有 bottom、center零聚、right袍暴、left、top等

用法,放在屏幕右下角:


mFabBtn.setOnClickListener(new View.OnClickListener() {

????????@Override

? ? ????public void onClick(View v) {

????????????????Snackbar.make(v,"哈哈哈哈哈哈",Snackbar.LENGTH_LONG).setAction("Action", new View.OnClickListener() {

????????????????????????@Override

? ? ? ? ? ? ? ? ? ? ? ? ? ?public void onClick(View v) {

????????????????????????????????????????Toast.makeText(FloatingActonButtonActivity.this,"退出",Toast.LENGTH_SHORT).show();

? ? ? ? ? ????????????????? }

????????????????}).show();

? ????? }

});

詳細用法參考:http://blog.csdn.net/lmj623565791/article/details/46678867

TabLayout


| 屬性 | 含義 |

| -------- | ----- | ---- |

|app:tabIndicatorColor="#EF4A11"? |? ? tab文字下方的那條線的顏色 |

|app:tabMode="scrollable" |? 如果tab過多超出屏幕寬度可以水平滾動|

| app:tabMode="fixed" | 底部tab布局不可滑動 |

|app:tabSelectedTextColor="#FFFFFF" | tab被選中的時候文字的顏色|

|app:tabTextColor="#FFFFFF"? ? |? ? tab未被選中時文字的顏色|

|app:tabIndicatorHeight="0dp" | 不顯示tab底部的橫線 |

注:

scrollable可以滑動隶症,向左對齊政模,如今日頭條,網(wǎng)易新聞就是scrollable蚂会,但是在Tab選項卡較少時會無法填滿TabLayout欄淋样。

fixed則無法滑動,每個選項卡平均分配空間胁住,適合較少Tab選項卡的情況趁猴,當(dāng)選項卡較多時,會出現(xiàn)每個選項卡內(nèi)容無法顯示完整的情況

參考鏈接:http://www.reibang.com/p/51f3a17df49d


AppBarLayout:

AppBarLayout 是繼承LinerLayout實現(xiàn)的一個ViewGroup容器組件,默認的AppBarLayout是垂直方向的,它的作用是把AppBarLayout所包裹的內(nèi)容都作為AppBar, 支持手勢滑動操作,可以管理其中的控件在內(nèi)容滾動時的行為彪见。


ToolBar

Toobar主要是用來替換ActionBar的儡司,換句話說,ActionBar能做的余指,Toolbar都能做捕犬。既然是替換,當(dāng)然用Toolbar的時候就得先去把ActionBar給隱藏掉啦~


CoordinatorLayout


CollapsingTollbarLayout

CollapsingToolbarLayout是用來對Toolbar進行再次包裝的ViewGroup酵镜,主要是用于實現(xiàn)折疊(其實就是看起來像伸縮~)的App Bar效果碉碉。它需要放在AppBarLayout布局里面,并且作為AppBarLayout的直接子View笋婿。

CardView

AutoScrollView

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末誉裆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子缸濒,更是在濱河造成了極大的恐慌足丢,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件庇配,死亡現(xiàn)場離奇詭異斩跌,居然都是意外死亡,警方通過查閱死者的電腦和手機捞慌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門耀鸦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事袖订〉剩” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵洛姑,是天一觀的道長上沐。 經(jīng)常有香客問我,道長楞艾,這世上最難降的妖魔是什么参咙? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮硫眯,結(jié)果婚禮上蕴侧,老公的妹妹穿的比我還像新娘。我一直安慰自己两入,他們只是感情好净宵,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谆刨,像睡著了一般塘娶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上痊夭,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天,我揣著相機與錄音脏里,去河邊找鬼她我。 笑死,一個胖子當(dāng)著我的面吹牛迫横,可吹牛的內(nèi)容都是我干的番舆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼矾踱,長吁一口氣:“原來是場噩夢啊……” “哼硫痰!你這毒婦竟也來了访忿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎储耐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體郑气,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡怠堪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了雷逆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弦讽。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖膀哲,靈堂內(nèi)的尸體忽然破棺而出往产,到底是詐尸還是另有隱情被碗,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布仿村,位于F島的核電站蛮放,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏奠宜。R本人自食惡果不足惜包颁,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望压真。 院中可真熱鬧娩嚼,春花似錦、人聲如沸滴肿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泼差。三九已至贵少,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間堆缘,已是汗流浹背滔灶。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留吼肥,地道東北人录平。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像缀皱,于是被迫代替她去往敵國和親斗这。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349