簡單記錄一下,預(yù)備知識來源:安卓屏幕完美適配方案——獨(dú)家秘笈
先來點(diǎn)預(yù)備知識
- 屏幕尺寸(in)
手機(jī)對角線的物理尺寸啊胶,單位 英寸(inch)恢共,一英寸大約2.54cm,常見的尺寸有4.7寸、5寸、5.5寸矩动、6寸
- 屏幕像素密度(dpi):
每英寸長度上像素點(diǎn)個數(shù)。例如每英寸內(nèi)有160個像素點(diǎn)释漆,則其像素密度為160dpi悲没。
公式: 像素密度=像素/尺寸 (dpi=px/in)
- 標(biāo)準(zhǔn)屏幕像素密度(mdpi):
每英寸長度上還有160個像素點(diǎn),即稱為標(biāo)準(zhǔn)屏幕像素密度(mdpi)灵汪。
- 像素密度等級:
手機(jī)真實(shí)像素密度與標(biāo)準(zhǔn)屏幕像素密度(160dpi)的比值檀训。官方給出的0.75、1享言、1.5峻凫、2、3览露、4荧琼,即對應(yīng)120dpi、160dpi差牛、240dpi命锄、320dpi、480dpi偏化、640dpi脐恩。
- px與dp關(guān)系:
像素=dp * 像素密度等級,即px=dp * (dpi/160)
一張圖非常清晰的展現(xiàn)了現(xiàn)在手機(jī)的分辨率集中在1080P左右:
現(xiàn)有的全面屏
現(xiàn)有的全面屏廠商主要是小米,LG,三星;1080P左右的手機(jī)高寬比一般是16:9,而全面屏手機(jī)的高寬比17:9,19:10,18.5:9等.
16:9 = 1.7778 (ratio_float)
18.5:9 = 2.056 (ratio_float)
Android 默認(rèn)最大屏幕比是1.86,基本上全面屏手機(jī)都超過了這個值,默認(rèn)情況下應(yīng)用在全面屏上的展示是:
head和bottom都會有留白
適配方案:
在AndroidManifest.xml中加入如下配置:
<meta-data android:name="android.max_aspect" android:value="ratio_float"/>
ratio_float 改成2.1或者更大即可,如:
<meta-data android:name="android.max_aspect" android:value="2.1"/>
Update your app to take advantage of the larger aspect ratio on new Android flagship devices
對于虛擬鍵的適配
參考: 全面屏及虛擬鍵適配說明