Android設(shè)備App設(shè)計中有一個問題可能會被設(shè)計師忽略诅蝶,在各種分辨率各種尺寸“雜屏”的界面適配肛跌。可能產(chǎn)出的界面稿在常用的720*1280的分辨率中是完美,但一到各個不同分辨率不同尺寸的設(shè)備后
這里就談?wù)勥m配顷霹,了解適配讓設(shè)計從PS坡锡、sketch到移動設(shè)備上都能完美呈現(xiàn)策州。
設(shè)備
如此繁雜的安卓設(shè)備钉蒲,采用哪個標(biāo)準(zhǔn)設(shè)計呢?
1.選擇一種尺寸一種分辨率作為基準(zhǔn)型将。
2.選擇2-3款主流的Android設(shè)備寂祥,制定一套適配規(guī)則。(國內(nèi)主流設(shè)備七兜、分辨率可參考友盟指數(shù))
3.部分極端效果特別注釋說明丸凭。
目前移動端設(shè)計師多采用iPhone 5與6的分辨率設(shè)計,這兩個分辨率也最接近Android xhdpi的720*1280腕铸,設(shè)計之后再做等比適配(不做設(shè)計元素等比適配會導(dǎo)致Android設(shè)備上視覺呈現(xiàn)較邢)。
我則傾向于選取720*1280的分辨率設(shè)計狠裹。優(yōu)點是處于常用分辨率的中間值虽界,對小分辨率大分辨率調(diào)整也較容易。另外iOS@1x的320與720剛好是2.25的倍率關(guān)系涛菠,使用sketch等比輸出快捷多了莉御。(如果時間成本允許的話可以將Android的標(biāo)注單位用dp,具體的設(shè)備尺寸俗冻、分辨率知識這里不詳描述礁叔,可見文章最后面的“Android基礎(chǔ)知識”)
案例說明:
雅虎新聞為各個dpi做了優(yōu)化,圖片等比縮放迄薄,文字區(qū)域等比縮放琅关,并且考慮到在低dpi下會被推移至第二屏,就減小圖片了高度噪奄,保持文字區(qū)域最小高度死姚。
圖標(biāo)
老司機都不會忘記的,僅提醒下新手勤篮,每個圖標(biāo)記得輸出多個比例。并且記得查看各個比例下圖標(biāo)的顯示效果色罚。
案例說明:
還是拿一個雅虎新聞的例子碰缔,大家感受下。
文本
Android設(shè)備的系統(tǒng)各個廠商都做了定制化戳护,默認的字體庫可能不同金抡,且字體占空間大小可能不同瀑焦。不同設(shè)備顯示文字會出現(xiàn)不同效果。設(shè)計時考慮3點:
多采用流式布局梗肝,不對單行做字數(shù)限制(如“單行顯示多少個字”“文本寬度多少”)榛瓮,而是定義文本容器的高寬,超出則用“…”“漸隱”或者“遮擋”等方式省略巫击。
若較長的文本需要完整顯示禀晓,設(shè)計時預(yù)留換行空間。
若文本需要在單行完整顯示(如提示類文字)坝锰,盡量控制字數(shù)(建議16字內(nèi))粹懒,避免小屏不夠放置。
案例說明:
圖文混排同一行顯示時顷级,圖片等比固定在右側(cè)顯示凫乖,文字部分區(qū)域?qū)挾葧蛟O(shè)備不同出現(xiàn)較大的差異,預(yù)留文字多行高度弓颈。如下圖不同設(shè)備下文字的展示空間有差異帽芽,需要考慮小分辨率下預(yù)留多行文字空間。如圖2第二條新聞標(biāo)題文字溢出的丑陋展示翔冀,建議設(shè)定一個文字區(qū)域最大高度导街,超出部分則隱藏。
單行出現(xiàn)多個文字元素時橘蜜,注意元素在低dpi下的顯示層級菊匿,提前說明好該情況的覆蓋或者隱藏規(guī)則。如下圖第一個用戶名稱计福,在低dpi下跌捆,避免各元素交錯,而省略了超出的用戶名稱象颖。
圖片
圖片常用的方式有固定寬度dp等比縮放高度(用于非通欄圖片)佩厚;固定高度dp等比縮放寬度(用于橫向滾動圖片,如全屏相冊中的縱向圖片)说订;根據(jù)屏幕寬度等比縮放(橫向通欄圖片)抄瓦。設(shè)計時考慮3點:
注意圖片占用的寬高比,避免大屏設(shè)備上占據(jù)大量空間陶冷,導(dǎo)致內(nèi)容比例不協(xié)調(diào)同時降低了屏幕利用率钙姊。
考慮到設(shè)備屏幕密度不同,輸出圖片時別忘了輸出多個分辨率埂伦。
考慮圖片寬高比過大的縮略圖處理(最常見的處理方式:高度遠大于寬度時煞额,是給出最大區(qū)域,讓圖片等寬居中填充該區(qū)域,只顯示該區(qū)域膊毁;寬度遠大于高度時胀莹,與展示區(qū)域等高居中取部分顯示。當(dāng)然也可能出現(xiàn)特殊顯示要求婚温,需要根據(jù)具體情況具體處理描焰。)
案例說明:
網(wǎng)易游戲相冊的全屏瀏覽中,大于設(shè)備寬高比的寬圖按照最大寬度放置栅螟,小于設(shè)備寬高比的高度按照最大高度放置荆秦。
一行多張圖片要考慮圖片的在不同設(shè)備下等比縮放帶來顯示效果的差異。排列時會有兩種情況:
1.要求在一行內(nèi)顯示完嵌巷,根據(jù)圖片的顯示效果決定放置的數(shù)量萄凤,超過則不顯示(如下圖1第二條新聞)
2.流式布局,當(dāng)圖片寬度小于設(shè)定值時自動換行(如下圖2相冊展示搪哪,低dpi低分辨率設(shè)備一行顯示3張靡努,高的顯示4-5張,且按比例撐滿屏幕寬度)晓折。
寬高比超出設(shè)計區(qū)域時的處理惑朦,如百度貼吧中列表的小圖模式,給出了正方形區(qū)域漓概,當(dāng)圖片非正方形時漾月,根據(jù)寬高中的短邊等比撐滿正方形區(qū)域后,截取了圖片居中的部分顯示胃珍。
區(qū)域
在固定區(qū)域內(nèi)多元素混合放置時梁肿,文字一般采取流式布局,圖片多采用等比縮放觅彰,圖標(biāo)元素多采用 彈性布局吩蔑,即元素內(nèi)容本身規(guī)格不變,考慮水平填抬、垂直方向的間距做相應(yīng)擴展烛芬。設(shè)備屏幕越大,在擴展方向上可以顯示更多內(nèi)容飒责,發(fā)揮了大屏幕的優(yōu)勢赘娄。
彈性布局需要給出哪一個元素dp不變,哪一個元素縮放的策略宏蛉。
彈性布局下部分距離標(biāo)注采用百分比標(biāo)注遣臼。
當(dāng)有兩個等比縮放元素時考慮避免重疊的情況。
案例說明:
網(wǎng)易游戲的新聞列表樣式拾并,每一條新聞區(qū)域暑诸,要求圖片dp不變蚌讼,而文字區(qū)域進行彈性縮放辟灰。
下圖網(wǎng)易游戲?qū)^(qū)中間的幽靈按鈕圖標(biāo)為確保點按效果个榕,按照固定dp顯示,中間間隔的寬度按照設(shè)備寬度的百分比來確定
網(wǎng)易游戲求交往的界面芥喇,中間卡片區(qū)域大小根據(jù)設(shè)備等比縮放西采,如中間用戶頭像與“同喜歡2款游戲”的文字,在設(shè)計時需要考慮產(chǎn)品的目標(biāo)設(shè)備中最小設(shè)備下的布局顯示效果继控,避免出現(xiàn)重疊的情況械馆。而縱向的元素數(shù)量也需要如此考慮。
Android界面適配的案例說明就寫到這里啦武通。
設(shè)計時多考慮各個元素(圖標(biāo)霹崎、文本、圖片冶忱、區(qū)域)在不同設(shè)備的情況尾菇。當(dāng)然,做設(shè)計時也不是死板的按照建議來實現(xiàn)囚枪,特別是固定區(qū)域下的元素放置派诬,根據(jù)實際情況來處理即可。
Android系統(tǒng)的UI也在不斷進化完善链沼,隨著設(shè)計趨勢的改變默赂,Android除了常見的卡片、列表括勺、浮層外缆八,可能會有更多的展示方式,而Android設(shè)備也是逐漸淘汰ldpi與mdpi疾捍,設(shè)備的分辨率逐漸變大奈辰。也就要求我們需要不斷的去了解嘗試新的設(shè)計趨勢,產(chǎn)出最好的方案拾氓。
附錄:Android基礎(chǔ)知識
這不是彩蛋哈冯挎,僅僅補充安卓設(shè)備的基礎(chǔ)知識,老司機完全可以忽略咙鞍,供新手參考閱讀房官。
為展示設(shè)備的多樣化,貼出Android屏幕尺寸示意圖(藍色矩形的大小代表不同尺寸续滋,顏色深淺則代表所占百分比的大小翰守。)
屏幕大小(Screen Size)
屏幕大小以屏幕尺寸來衡量疲酌,指屏幕的對角線的長度蜡峰,單位是英寸了袁,1英寸=2.54厘米
目前的主流尺寸:5.0" ~ 5.5" (有繼續(xù)往更大尺寸發(fā)展的趨勢,但趨于穩(wěn)定)
常見的設(shè)備尺寸: 4" ~ 10" 湿颅。
手機適配參考尺寸: 4" ~ 6"
手機 + 平板適配參考尺寸: 4" ~ 10”
屏幕分辨率(Screen Resolution)
屏幕分辨率是指在橫縱向上的像素點數(shù)载绿,單位是px,1px=1個像素點油航。一般以縱向像素*橫向像素崭庸,如1960*1080。
屏幕密度(Screen Density)
屏幕像素密度是指每英寸上的像素點數(shù)谊囚,單位是dpi怕享,即“dot per inch”的縮寫。目前每個屏幕像素可以認為就是一個“點”镰踏。
屏幕 dpi 的計算方式:
Android 設(shè)備中 dpi 分幾個段:
?ldpi:~ 120 dpi (幾乎絕跡)
?mdpi:~ 160 dpi (罕見)
?hdpi:~ 240 dpi (逐漸減少中)
?xhdpi:~ 320 dpi
?xxhdpi:~ 480 dpi
?xxxhdpi:~ 640dpi (目前較少)
設(shè)備獨立像素(dp/dip:device independent pixels)
dp(與 dip 同義) 是在 160dpi 下每個像素對應(yīng)的物理尺寸函筋,可近似理解為:
?160 dp = 1 inch
?1 dp = 1 / 160 inch = 0.15875 mm
?1 dp = 1 px (160 dpi 屏幕下)
?1 dp = 2 px (320 dpi 屏幕下)
Android的屏幕適配指標(biāo)都基于物理尺寸(即屏幕的物理大小)奠伪,而非像素(分辨率)跌帐。為什么呢?這里根據(jù)dp與px適配出兩種效果來說明芳来。
按 dp 適配不同屏幕的效果如下含末,內(nèi)容的物理尺寸變化不大:
若直接按照像素適配,出現(xiàn)以下情況即舌,高像素密度的設(shè)備內(nèi)容顯得特別小佣盒,影響布局與可用性:
屏幕比例
屏幕長邊和短邊的比例。
目前手持設(shè)備的 長邊 dpi 和 短邊 dpi 普遍非常接近顽聂,可認為屏幕比例和屏幕水平肥惭、垂直像素比例一致
屏幕比例目前趨于 16:9 ~ 16:10 (8:5)
因不少設(shè)備使用了虛擬按鍵,所以通常非全屏的 app 可用面積略低紊搪,屏幕比例更接近 16:10