1. 布局適配
布局適配,其實(shí)就是布局別名問題:
平板 layout-sw600dp (600dp以上):平板情況下會(huì)自動(dòng)加載這個(gè)文件下的布局坝冕,如果有需要適配的界面,就可以放在這里面瓦呼;
豎屏 layout-land:當(dāng)布局切換時(shí)喂窟,豎屏情況下會(huì)自動(dòng)加載這個(gè)文件下的布局,如果有需要適配的界面央串,就可以放在這里面磨澡;
1>: 對于手機(jī)的橫豎屏、平板而言:
如果是豎屏质和,點(diǎn)擊列表會(huì)跳轉(zhuǎn)詳情稳摄,詳情會(huì)是另外一個(gè)Activity的界面;
如果是平板饲宿,列表在左邊厦酬,然后點(diǎn)擊列表對應(yīng)的item胆描,跳轉(zhuǎn)的詳情頁面會(huì)在屏幕右邊部分,左右兩邊都是Fragment來進(jìn)行切換的仗阅;
手機(jī)橫屏的情況與平板一樣的昌讲;
2>: 對于版本而言减噪,比如5.0以下短绸,這里以4.4舉例說明和5.0以上:
比如以MD為例,對于MD中的 FloatingActionBar筹裕,即就是右下角出現(xiàn)的按鈕鸠按,現(xiàn)象就是:
如果是運(yùn)行在4.4手機(jī)上邊會(huì)自動(dòng)的在右下角顯示,并且有14dp的間距饶碘;
如果是運(yùn)行在5.0手機(jī)上邊目尖,那么這個(gè) FloatingActionBar就會(huì)緊貼著屏幕右下角;
針對于這種情況扎运,可以這樣去適配:
給values設(shè)置版本別名瑟曲,可以重新寫一個(gè) values - v21,在里邊復(fù)制一個(gè)dimens.xml文件豪治,然后在里邊寫一個(gè)padding = 14dp洞拨,而res 下邊的values本來就有dimens,這樣就可以在xml文件中給 文字大小 的textSize直接引用 @dimens/ 下的某一個(gè)大小即可负拟。
比如像這樣的烦衣,就是針對于一些其他的版本去適配的:
3>: 細(xì)節(jié)問題
xml布局文件中盡量使用wrap_content、match_parent掩浙、weight等花吟,能不寫死就不要寫死,在xml文件中盡量不要寫:30dp厨姚、40dp衅澈、個(gè)人詳情、注冊谬墙、登錄等固定的文本內(nèi)容和固定大小今布。
4>: 屏幕尺寸、屏幕分辨率拭抬、屏幕像素密度
a:屏幕尺寸: 指的是屏幕對角線長度部默,即就是5.0、5.1造虎、5.5屏幕的尺寸(不是特別重要)傅蹂;
b:屏幕分辨率:橫、縱上邊的像素點(diǎn)累奈,單位是px贬派,一般是縱向像素 * 橫向像素,比如1920 * 1080澎媒、1080*720等等搞乏;
c:屏幕像素密度:指的是每英寸上面的像素點(diǎn),單位是dpi戒努,這個(gè)與屏幕尺寸请敦、屏幕分辨率有關(guān);
比如 谷歌的Nexus 5手機(jī):
屏幕的尺寸是 4.95英尺储玫;
屏幕的分辨率是1920*1080侍筛;
屏幕像素密度 DPI = 445;
5>: dp撒穷、dip匣椰、dpi、sp端礼、px之間的關(guān)系:
a:dp禽笑、dip指的是屏幕像素密度,以160dpi為基準(zhǔn)蛤奥,1dip(1dp) = 1px佳镜;
b:谷歌推薦sp,字體大小最好都在12sp以上凡桥,比如12sp蟀伸、14sp、18sp缅刽、22sp啊掏,最好不要使用基數(shù),比如13sp衰猛、15sp等等脖律,因?yàn)榭赡軙?huì)在部分機(jī)型上邊造成經(jīng)度丟失,如果設(shè)計(jì)師非要讓你的字體大小設(shè)置13sp腕侄,這個(gè)時(shí)候你可以給她說小泉,字體大小最好還是設(shè)置成偶數(shù),否則可能會(huì)在部分機(jī)型上邊造成經(jīng)度丟失冕杠。
6>: mdpi微姊、hdpi、xhdpi分预、xxhdpi如何計(jì)算區(qū)分
ldpi: 120dp 240 * 320兢交;
mdpi:160dp 320px * 480px 1dp = 1px
hdpi: 240dp 480 * 800 1dp = 1.5px
xhdpi:320dp 720*1280 1dp = 2px
在代碼中使用的一般情況都是 px,一般情況都需要轉(zhuǎn)換笼痹,在代碼中一般這樣使用:
dip2px(80):表示80轉(zhuǎn)換成對應(yīng)的px
2. 圖片適配
在項(xiàng)目開發(fā)時(shí)配喳,有的會(huì)切1套圖酪穿、有的會(huì)切3套圖,一般:
mipmap下邊放的圖標(biāo)如下晴裹,比如這樣的:
drawable一般放其他被济;
一般情況下:放一套圖就行,但是部分的要區(qū)分開涧团,放一套圖的一般都放用戶量最多的目錄下只磷,我們絕大部分都放在xxhdpi下邊的,比如QQ的可能都放在xhdpi下邊的泌绣,可能用戶群體更多的是老年人吧钮追;
特殊情況下:尺寸較大的一些圖,一般需要放三套阿迈,比如啟動(dòng)頁元媚、首頁、個(gè)人中心的背景圖都需要三張:
啟動(dòng)頁就不用說苗沧,就是3張啟動(dòng)圖惠毁,個(gè)人中心背景如下圖所示:
還有必須做bitmap的優(yōu)化,或者使用第三方的圖片庫去加載崎页,如果所有都用3套圖的話鞠绰,那么apk可能會(huì)很大,不太好飒焦。
3. 其他情況
以下情況必須采用代碼去適配:
如果需要顯示的圖片是正方形蜈膨、按比例的輪播條、平板牺荠、豎屏顯示翁巍;