本來應該接著講動畫的部分丧叽,但是簡書好像不能上傳gif圖饼暑,就不能很好地表現(xiàn)動畫了子姜,然后網(wǎng)上又已經(jīng)有大神將動畫這一部分翻譯成中文了,點擊此處可以查看燎竖。下面我整理的內(nèi)容是關(guān)于控件部分璃弄。沒有按照官方文檔的順序,而是按照相關(guān)性將其進行分組构回。
目錄
- 底部導航欄和標簽
- 底部動作條夏块、菜單和對話框
- snackbars、toasts和警告框
- 按鈕
- 卡片纤掸、列表和網(wǎng)格列表
- 步進器和二級標題
- 文字域
- 紙片脐供、滑動條、進度條借跪、工具欄患民、選擇控制器
1. 底部導航欄和標簽
- 底部導航欄介紹
1)底部導航欄主要是用于移動端,數(shù)量一般為3-5個垦梆,可以在應用中的任何地方隨時切換匹颤,因此一般只用于頂級的視圖,這些視圖應該有足夠的重要性并且有直接訪問的需求托猩。如果導航的分類少于3個印蓖,可以考慮使用標簽代替(下面會講到),如果多于5個京腥,可以考慮用側(cè)邊導航代替(下一章節(jié)會講到)
2)底部導航欄用于打開相關(guān)的視圖赦肃,不要用于打開菜單或者其他彈出窗口。
3)上滑和下滑屏幕時,底部導航會自動隱藏和出現(xiàn)他宛,另外船侧,視圖之間切換時,最好不要使用左右滑動的動畫厅各,會帶來困惑镜撩。比如你從第一個視圖切換到第二個視圖看起來很正常,但是從第一個視圖直接切換到第四個視圖時队塘,如果只向左滑動一次袁梗,與心理預期不符,如果快速滑動三次憔古,看起來會不舒服遮怜。一般使用交叉漸變即可。
4)底部導航欄的高度如下圖所示
- 標簽介紹
1)標簽能夠在一個較高的層級上對信息進行組織鸿市,能夠用于不同的視圖锯梁,不同的數(shù)據(jù)集,不同的功能集之間的切換焰情。但是不要把標簽用于一些普通頁面之間的跳轉(zhuǎn)陌凳,應該用于不同的內(nèi)容組之間的導航。
2)標簽數(shù)量較少時是固定的烙样,數(shù)量較多時可以滾動查看冯遂。另外蕊肥,標簽默認是可以用手勢左右切換的谒获,因此不要包含一些也可以左右切換的元素,比如一些信息可以通過左右滑動來刪除壁却,在這種情況下很容易誤操作批狱。
3)標簽的內(nèi)容的范圍并不完全一致,例如可以有一個標簽是全部展东,一個標簽是熱門赔硫,一個標簽是精選,但是都應該在一個大的類型之下盐肃。
- 底部導航和標簽的對比
1)首先爪膊,底部導航和標簽最好不要同時使用,因為那樣上下組合的可能性有很多砸王,用戶比較容易感到混亂推盛。如果需要多級導航,可以考慮其他的組合方式谦铃,這一部分在下一章會介紹耘成。
2)數(shù)量上,官方文檔對底部導航欄做了明確的建議,一般在3-5個瘪菌,但對標簽沒有明確規(guī)定撒会。雖然在底部導航介紹時建議說是2-3個,但是由于標簽支持滾動师妙,數(shù)目上并沒有什么限制诵肛。
3)功能上,底部導航用于最頂部的導航疆栏,不同分類之間有相同的重要性曾掂,分類界限也比較明確。標簽可以用于導航和分類壁顶,分類之間相對來說隨意一點珠洗,不要是最頂部的層次,也不用有相同的重要性若专,適用范圍更廣一些许蓖。
4)操作上,底部導航欄一般不支持手勢左右切換调衰,標簽欄支持膊爪。兩者都可以從應用的任何地方直接切換,前提是標簽欄不是包含在某個視圖之內(nèi)嚎莉。
2. 底部動作條玉吁、菜單和對話框
-
底部動作條介紹
兩種類型怕篷,模態(tài)(左),固定(右)
1)底部動作條可以分為兩種,一種稱為模態(tài)片迅,是暫時性的铸豁,主要展示的是與其他應用相關(guān)的操作归露,另一種稱為固定膀钠,與應用結(jié)合在一起,提供一些輔助的信息竹勉。前者是高于當前頁面的內(nèi)容的飞盆,后者于當前頁面位于同一高度,或者說內(nèi)嵌于頁面之內(nèi)次乓。在桌面端或者平板端吓歇,空間比較充裕,這時可以使用對話框或者菜單代替底部動作條票腰。
2)固定的底部動作條除了直接提供輔助信息城看,也可以不脫離本應用而顯示其他應用內(nèi)的信息。
3)模態(tài)的底部動作條出現(xiàn)時丧慈,頁面中的其他區(qū)域會暗下來析命,以突出該動作條主卫。模態(tài)動作條中主要是與當前內(nèi)容相關(guān)各種操作,像分享鹃愤,發(fā)郵件簇搅,在其他應用中打開等∪硗拢可以使用列表或者網(wǎng)格的形式進行展示瘩将,并有意識地突出某些功能。
4)從底部動作條跳到別的應用后凹耙,不能返回到該應用的上一級姿现,只能原路回到底部動作條。但是可以通過以下方法改變肖抱,比如在跳轉(zhuǎn)的時候就直接打開新的應用备典,而不是該應用內(nèi)的某一層,也可以在跳轉(zhuǎn)之后的界面中意述,點擊其他功能提佣,像首頁等,回到上一級荤崇。
5)模態(tài)動作條有四種方式可以關(guān)閉拌屏,一是下滑,二是點擊上面的關(guān)閉按鈕术荤,三是點擊其他變暗的區(qū)域倚喂,四是直接按手機上的返回鍵。 -
菜單介紹
1)菜單有多種形式瓣戚,不僅僅是右上角的三個點端圈,也可以是應用內(nèi)的其他位置,用于提供多個選擇带兜,選項與當前內(nèi)容密切相關(guān)枫笛。如果沒有可用的選擇吨灭,則菜單不可使用刚照,如果內(nèi)容改變,菜單的選項也會動態(tài)改變喧兄。菜單是臨時的无畔,一般每個選項占一行,
2)菜單可能有類似導航的跳轉(zhuǎn)功能吠冤,但不要使用作為主要的導航方式浑彰,菜單選項太多時支持滾動操作。
3)桌面端的菜單可以多級嵌套拯辙,同時桌面的空間較大郭变,菜單上可以附有快捷鍵等幫助信息颜价,另外菜單選項的順序,可以是靜態(tài)的诉濒,此時盡可能把常用的放在前面周伦,也可以是動態(tài)的,此時最前面的最近使用未荒。
4)移動端的菜單相對桌面端比較簡單专挪,可以用于應用內(nèi)做一些快速地選擇。使用時要注意的是彈出菜單的位置和默認選項的選擇片排。一般是垂直于相關(guān)的輸入?yún)^(qū)寨腔,并且是合在一起,默認的選項直接顯示在輸入?yún)^(qū)域中率寡。另外迫卢,如果輸入?yún)^(qū)是獨占一行的,菜單應該保持左對齊冶共,不管用戶在哪里點擊觸發(fā)該菜單靖避。
- 對話框介紹
1)對話框一般是用來通知用戶,或者做出請求比默。包括幾種不同類型:簡單對話框幻捏、確認對話框、全屏對話框命咐。出現(xiàn)時其他區(qū)域會變暗并不能操作篡九,直到對話框消失,有較大的干擾性醋奠,因此應盡量控制對話框的使用榛臼。
2)不能在對話框中包含對話框。如果內(nèi)容較多窜司,可以使用全屏對話框沛善,而且在全屏對話框時,運行彈出新的對話框塞祈,因為這樣不會增加z軸上的視覺干擾金刁。
3)對話框一般不能滾動,如果實在需要的話议薪,要在滾動時固定標題或者固定下方的操作按鈕尤蛮。
4)簡單對話框沒有取消和確定等按鈕,直接對內(nèi)容進行選擇斯议,內(nèi)容可以包含圖標产捞,多行文字。確認對話框需要用戶在選擇之后點擊確認按鈕或者取消按鈕哼御,意味著如果你選擇之后沒有確認坯临,是不會自動保存的焊唬。
5)全屏對話框一般只用于移動端,畢竟其他設備的空間比較充足看靠。全屏對話框需要注意的是求晶,內(nèi)容是不會實時保存的,在右上角會有一個保存按鈕衷笋,點擊之后才能生效芳杏。左上角是關(guān)閉按鈕,如果已經(jīng)填入東西辟宗,關(guān)閉時需要彈出一個確認框爵赵,如果沒有填入東西,就直接退出即可泊脐。
- 三者比較
1)干擾性:菜單的干擾性是最小的空幻,其次是底部動作條和對話框。所以可以根據(jù)內(nèi)容的重要性以及出現(xiàn)頻率要決定使用什么控件容客。
2)功能性:三者的功能有一定的區(qū)別的秕铛,底部動作條多用于與其他應用的鏈接,或者獲取其他應用的信息作為補充缩挑。菜單是針對頁面內(nèi)元素的直接操作或選擇但两,相比底部動作條中的操作,是比較輕量的供置。對話框的選擇功能與菜單類似谨湘,但是一般是比較重要的選擇,而且顯示的信息比較豐富芥丧,可以包含圖標紧阔,菜單一般是簡單的一行文字。另外對話框的提醒功能和確認功能是菜單所沒有的续担。
3. snackbars擅耽、toasts和警告框
在谷歌官方文檔里,警告框是對話框中的一類物遇,不過我個人覺得與snackbars和toasts具有可比性乖仇,所以拿出來放到了這里。另外挎挖,snackbars和toasts是兩種通知信息的顯示方式这敬,暫時沒發(fā)現(xiàn)比較好的翻譯航夺,是那種只能意會不能言傳的感覺蕉朵,所以這里就直接使用英文了。
-
警告框介紹
1)警告框用于告知用戶一些緊急的情況阳掐,讓用戶了解當前狀況始衅,并提供一些可以選擇的操作冷蚂,比如用戶要刪除東西,就要提醒用戶說汛闸,“現(xiàn)在要刪除東西了蝙茶,你可以選擇取消,也可以選擇繼續(xù)刪除”之類的诸老。
2)大部分警告框沒有標題隆夯,就是一句簡單的話加上兩個可選操作,要保證操作的表述是清晰的别伏,不要用“是”“否”蹄衷,而要使用“刪除”“取消”等意義比較明確的。
3)如果需要較多的解釋內(nèi)容厘肮,則要使用標題愧口,標題要簡單明了地表現(xiàn)問題,正文是必要的一些解釋类茂,并適當注意表達的語氣耍属。
- snackbars介紹
1)snackbars是用戶在完成某個操作之后出現(xiàn)的反饋,顯示與該操作相關(guān)的信息巩检,并提供一些操作厚骗,比如撤回,這些操作應該還有其他入口兢哭,以備用戶事后操作溯捆。
2)snackbars的高度與浮動按鈕一樣,位于絕大多數(shù)應用內(nèi)的元素之上厦瓢,但是在對話框提揍、底部動作條之下。因為和浮動按鈕高度一樣煮仇,所以當浮動按鈕也位于屏幕底部時劳跃,要避免發(fā)生碰撞。
3)一次只能顯示一個snackbars浙垫。一般從屏幕底部升起刨仑,一段時間會自動消失,也可以通過手勢滑動使其消失夹姥,或者是用戶切換到一個別的頁面杉武。
4)snackbars上不能使用圖標按鈕,只能使用文字按鈕辙售。只能包含一個操作轻抱,如果需要兩個,則要考慮使用其他控件旦部。
-
toasts介紹
文檔中關(guān)于toasts的介紹很少祈搜,對安卓開發(fā)有了解的人應該比較清楚较店。與snackbars的作用一樣,都是在操作之后提供反饋容燕,不過toasts更簡潔梁呈,沒有操作按鈕,不能通過手勢移除蘸秘,只能等時間到了自動消失官卡。顯示框的大小與內(nèi)容相適應,不會占據(jù)一整行醋虏。一般也是從底部彈出味抖。
三者比較
1)警告框用于在執(zhí)行重要的操作之間的詢問和確認,有很大的干擾性灰粮,一般只用于不可恢復或者有較大破壞性的操作上仔涩。如果該操作可以撤銷,盡量使用snackbars粘舟,因為不會對用戶造成太大的干擾熔脂,破壞用戶體驗。
2)snackbars和toasts兩者都是用于操作后反饋柑肴,如果該操作的重要性不大霞揉,或者說不太需要撤回等操作,則考慮使用toasts晰骑,同樣是因為對用戶干擾較少适秩。
4. 按鈕
材質(zhì)化設計中按鈕的特點是點擊之后會有墨水散開的效果。按鈕可以是文字硕舆、圖像秽荞、或者兩者合在一起,按鈕的類型有很多抚官,下面會一一介紹扬跋。
1)平面按鈕
平面按鈕直接“印”在材質(zhì)上,一般是單純的文字凌节,按住時會填充上背景顏色钦听。主要用于工具欄、對話框以及嵌入內(nèi)容之中倍奢,嵌入時要留有一定的邊距以保證可點擊朴上。
2)上浮按鈕
上浮按鈕浮于材質(zhì)之上,為扁平布局增加了一些立體感卒煞,并且在大量的信息中突顯出來痪宰。一般是矩形。
3)浮動按鈕
浮動按鈕是頁面中最重要的操作的承載,每個頁面只能有一個浮動按鈕酵镜,但并不是每個頁面都需要碉碉。值得注意的是柴钻,浮動按鈕表示的操作一般不要是破壞性或者是消極的淮韭,避免用戶做出錯誤的操作。
在同一個應用中贴届,浮動按鈕的位置最好保持相對固定靠粪,避免視圖切換時帶來不適。
浮動按鈕有多種變化形式毫蚓,可以垂直彈出多個二級操作占键,可以水平展開成工具欄,也可以打開一個新的頁面元潘。
4)腳注型按鈕
是平面按鈕的一種特殊用法畔乙,一般固定于屏幕或者操作窗口的底部,類似于腳注的位置翩概。
5)下拉按鈕
一般有三種類似牲距,如下圖所示:
左邊為不同的下拉按鈕,與簡單的菜單選項差不多钥庇。中間稱為分節(jié)下拉按鈕牍鞠,點擊操作圖標可以激活該操作,點擊下拉圖標可以更改操作的種類评姨。右邊的是可編輯按鈕难述,用于桌面端比較多,可以直接輸入吐句,也可以在下拉菜單中選擇胁后。
6)開關(guān)按鈕
一般是一組類似的開關(guān)按鈕放在一起,可以是相互排斥的嗦枢,只能選其一择同,也可以是不排斥的,可以疊加在一起净宵。經(jīng)常用于桌面端敲才,移動端也有,但一般不是一組出現(xiàn)择葡,而是單個紧武,比如點贊、標記等功能中使用的按鈕敏储。
不同的按鈕類型用法不同阻星,有三個因素需要重點考慮,一是該操作的重要性,即按鈕應該多突出妥箕,二是屏幕上頁面的數(shù)量滥酥,是否可以再增加z軸的深度,三是屏幕布局畦幢,按鈕的出現(xiàn)會不會和其他控件沖突坎吻。
控件這一部分我分了有八組,剩下四組明天再繼續(xù)宇葱。