為什麼需要螢幕適配?
android機型碎片化嚴重 各種機型解析度的手機都有
解析度太多,為了ui美觀,良好的使用者體驗 所以螢幕適配
布局適配
布局適配 (1.dp,px,sp, 相對布局,權重,matchparent,)
dp ===dip : 在螢幕密度是160ppi的時候 1dp=1px
px 畫素 構成影象的最小單位
sp scale-independent pixels 縮放畫素 用於字型大小
pt 磅
dpi和ppi
dpi:每英吋多少點,該值越高,則越細膩
ppi:每英吋畫素數,該值越高,則螢幕越細膩
mm 公釐
in 1英吋=2.54厘公尺(約); ===160個px 畫素點
pt:1pt=1/72英吋=0.035厘公尺 ==== 2.2個畫素點
重點:dpi, dip=dp px
使用方法
px適配
1280720 px 19201080 px
原因:美工切的圖上面標註的都是px
以1920*1080分斌率為基準,其他解析度等比縮放
(根據不同的螢幕,x1080變數會代表對應的px值)
dp適配 ==dip
1920**1080
寬度=1080px/3=360dip=360dp
1080**720
寬度=720px/2=360dip=360dp
2560**1440
寬度=1440px/4=360dip=360dp
總結:
px適配
px適配:優點:使用起來簡單dp適配(最小寬度限定符適配)缺點: 每一種需要適配的手機都要建立乙個與其對應的values目錄 占用apk空間大
優點:1.占用apk空間小,適配範圍廣,不需要建立多個values檔案 缺點:2.使用起來稍微麻煩 需要計算適配(1. .9.png)
2. 向量圖
這意味著使用同乙個檔案對不同螢幕密度調整大小並不損失的質量;
這樣就能得到更小的apk檔案和更少的維護工作;
缺點: 向量圖大的時候 消耗cpu資源(耗費時間)
drawable-mdpi 320*480
drawable-ldpi 240*320
drawable-hdpi 480*800
drawable-xhdpi 1280*720
drawable-xxhdpi 1920*1080
結論:1.每個解析度目錄下面的都會執行到對應的解析度的手機上
2. 只是執行在320*480的手機上
如果mdpi目錄下沒有的話會先從hdpi裡面找,
如果hdpi目錄裡面沒有的話會從xhdp裡面找,
如果xhdpi裡面沒有的話會從ldpi目錄裡面找,
最後才從xxhdpi目錄面找
h>xh>l>xxh
做一套(1280720放在xhdpi裡面(主流)或者 19201080放在xxhdpi裡面)
一般會把放在hdpi目錄裡面, 大
高解析度的放到低解析度的手機上會有什麼效果? 會壓縮,會失真
地分辨的托片執行在高分辨的手機上會有什麼效果? 拉伸 ,會失真
logo可以做多套放在不同解析度的目錄裡
其他的背景圖 都可以有.9.png做
android螢幕適配原理
android裝置碎片化非常嚴重,如圖,每個小色塊代表一種裝置解析度 各種解析度的裝置要想全部完美適配是不可能的,那麼就可以理解,如上幾個資料夾劃分了一部分區間,拿過來乙個機器,它的畫素密度引數接近哪個就用哪個資料夾的 做測試 heightpixels widthpixels density den...
ApiCloud螢幕適配原理及實現
螢幕尺寸 嚴格來說,螢幕尺寸實際被物理尺寸和顯示解析度兩個部分定義。而我們今天對各類手機 pad 裝置所說的螢幕尺寸,只指物理尺寸。如果一塊手機螢幕的物理尺寸是 5.5 英吋,即是指該手機螢幕對角線的長度。螢幕解析度 螢幕解析度是指螢幕影象的精密度,是顯示器所能顯示的畫素的具體數值。如乙個手機標稱解...
cocos2d x螢幕適配原理
之前,蘋果手機對480 320和960 640的手機適配策略是這樣的,當解析度是480 320時,尋找的是1.png。當解析度是960 640時,尋找的是1 2x.png。這個是1.png的2倍大小,這樣就能保證在不同的解析度手機上都能很好的執行。但是,這給我們的美工增加了不小的工作量,而且安裝包的...