相關(guān)概念
屏幕尺寸
含義:手機(jī)對(duì)角線的物理尺寸
單位:英寸(inch)-1英寸=2.54cm,android常見的尺寸有5寸,5.5寸,6寸
屏幕分辨率
含義:手機(jī)在橫向,縱向上的像素點(diǎn)數(shù)總和,一般描述成屏幕的"寬x高"=AxB,表示屏幕在橫向方向(寬度)上有A個(gè)像素點(diǎn),在縱向方向上有B個(gè)像素點(diǎn),例如1080x1920表示寬有1080個(gè)像素點(diǎn),高有1920個(gè)像素點(diǎn)
單位:px(pixel),1px=1像素點(diǎn);ui設(shè)計(jì)圖會(huì)以px為統(tǒng)一的計(jì)量單位
android常見的分辨率:320x480,480x800,720x1280,1080x1920
屏幕像素密度
含義:每英寸的像素點(diǎn)數(shù)
單位:dpi

屏幕尺寸,分辨率,像素密度三者關(guān)系
密度(單位/dpi)=√(寬2+高2)/屏幕大小-->密度即每英寸的像素點(diǎn)
密度無關(guān)像素
含義:density-independent pixel,叫dp或dip,與終端上的實(shí)際物理像素點(diǎn)無關(guān)
單位:dp,可以保證在不同屏幕像素密度的設(shè)備上顯示相同的效果
android開發(fā)時(shí)用dp而不是px單位設(shè)置圖片大小,這是android特有的單位
-
dp與px的轉(zhuǎn)換
在android中規(guī)定以160dpi為基準(zhǔn):1dp = 1px
image.png
獨(dú)立比例像素
含義:scale-independent pixel,叫sp或sip
單位:sp android開發(fā)時(shí)用此單位設(shè)置文字大小,可根據(jù)字體大小首選項(xiàng)進(jìn)行縮放,推薦使用偶數(shù),因?yàn)槭褂闷鏀?shù)和小數(shù)容易造成精度的丟失問題,小于12sp的字體會(huì)太小
屏幕適配問題的本質(zhì)
- 使得布局,布局組件,圖片資源,用戶界面流程匹配不同的屏幕尺寸
- 使得圖片資源匹配不同的屏幕密度
屏幕密度適配解決方案
- 布局控件匹配
- 使用密度無關(guān)像素:dp,sp
- 屏幕尺寸和屏幕分辨率適配:百分比適配方法
- 以某一個(gè)分辨率為基準(zhǔn),生成所有分辨率對(duì)應(yīng)像素?cái)?shù)列表(實(shí)際可用的分辨率進(jìn)行適配)
- 下載鴻洋提供的工具 autolayout.jar 此工具默認(rèn)基準(zhǔn)是480*320,通過在cmd下敲
java -jar xx.jar 基準(zhǔn)寬 基準(zhǔn)高 額外支持尺寸1的寬,額外支持尺寸1的高_(dá)額外支持尺寸2的寬,額外支持尺寸2的高
- 下載鴻洋提供的工具 autolayout.jar 此工具默認(rèn)基準(zhǔn)是480*320,通過在cmd下敲
- 將生成的像素?cái)?shù)列表(lay_x.xml和lay_y.xml)存放在res目錄下對(duì)應(yīng)的values文件下,必須在默認(rèn)的values里面也創(chuàng)建對(duì)應(yīng)的默認(rèn)lay_x.xml和lay_y.xml,否則會(huì)報(bào)錯(cuò),不能進(jìn)行適配,此values下對(duì)應(yīng)的單位應(yīng)改為dp,為不同于其他的px
- 根據(jù)設(shè)計(jì)圖的尺寸,找到對(duì)應(yīng)像素?cái)?shù)的單位,然后設(shè)置給控件
圖片資源匹配
- 使得圖片在不同屏幕密度上顯示相同的像素效果
做法:提供備用位圖(符合屏幕尺寸的圖片資源)由于android可在各種屏幕密度的設(shè)備上運(yùn)行,因此需要圖片始終滿足各類密度的要求,因?yàn)閳D片太多會(huì)造成apk變大,因?yàn)橛行┰O(shè)計(jì)師不會(huì)專門為android切圖,而iphone的一倍圖(1334750)的屏幕密度是326,接近android的(720*1280)屏幕密度320,所以我們可以用一倍圖放到xhdpi文件夾里面
參考鏈接
http://www.itdecent.cn/p/ec5a1a30694b
http://dditblog.com/itshare_843.html 有下載jar包的地址
https://blog.csdn.net/Arise_Yang/article/details/105954296 獲取實(shí)際可用的分辨率的方法
