Android適配

相關(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


image.png

屏幕尺寸,分辨率,像素密度三者關(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ì)

  • 使得布局,布局組件,圖片資源,用戶界面流程匹配不同的屏幕尺寸
  • 使得圖片資源匹配不同的屏幕密度

屏幕密度適配解決方案

  • 布局控件匹配
    1. 使用密度無關(guān)像素:dp,sp
  • 屏幕尺寸和屏幕分辨率適配:百分比適配方法
  1. 以某一個(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的高
  2. 將生成的像素?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
  3. 根據(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í)際可用的分辨率的方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容