版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、三分鐘搞定安卓適配問題 Android屏幕適配出現(xiàn)的原因 重要概念 屏幕尺寸 屏幕分辨率 屏幕像素密度 dp dip dpi sp px mdpi hdpi xdpi xxdpi 解決方案 1、圖片適配 2、尺寸適配 3、布局適配 4、代碼適配 5、權(quán)重適配一:Android屏幕適配出現(xiàn)的原因由于Android系統(tǒng)的開放性,任何用戶、開發(fā)者、OEM廠商、運營商都可以對Android進(jìn)行定制,修改成他們想要的樣子。但是這種“碎片化”到底到達(dá)什么程度呢?在2012年,OpenSignalMaps(以下簡稱OSM)發(fā)布了第一份Android碎片化報告,統(tǒng)計數(shù)據(jù)表明, 2012年,支持Android的
2、設(shè)備共有3997種。 2013年,支持Android的設(shè)備共有11868種。 2014年,支持Android的設(shè)備共有18796種。右邊這張圖片所顯示的內(nèi)容足以充分說明當(dāng)今Android系統(tǒng)碎片化問題的嚴(yán)重性,因為該圖片中的每一個矩形都代表著一種Android設(shè)備詳細(xì)的統(tǒng)計數(shù)據(jù)請到查看而隨著支持Android系統(tǒng)的設(shè)備(手機、平板、電視、手表)的增多,設(shè)備碎片化、品牌碎片化、系統(tǒng)碎片化、傳感器碎片化和屏幕碎片化的程度也在不斷地加深。而我們今天要探討的,則是對我們開發(fā)影響比較大的屏幕的碎片化。右一是Android屏幕尺寸的示意圖藍(lán)色矩形的大小代表不同尺寸,顏色深淺則代表所占百分比的大小。右二只是
3、4,4s,5,5c,5s和平板的尺寸,現(xiàn)在還應(yīng)該加上新推出的iphone6和plus,但是和Android的屏幕碎片化程度相比而言,還是差的太遠(yuǎn)二,重要概念1. 什么是屏幕尺寸、屏幕分辨率、屏幕像素密度? u 屏幕尺寸:是指屏幕對角線的長度。單位是英寸,1英寸=2.54厘米; 比如常見的屏幕尺寸有2.4、2.8、3.5、3.7、4.2、5.0、5.5、6.0等u 屏幕分辨率:是指在橫縱向上的像素點數(shù),單位是px,1px=1像素點,一般是縱向像素橫向像素,如1280720; u 屏幕像素密度:是指每英寸上的像素點數(shù),單位是dpi,即“dot per inch”的縮寫,像素密度和屏幕尺寸和屏幕分辨
4、率有關(guān)。在單一變化條件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。 u 三者關(guān)系例如:計算Nexus5的屏幕像素密度: 屏幕尺寸:4.95inch、分辨率:19201080,屏幕像素密度:445 2.dp、dip、dpi、sp、px px我們應(yīng)該是比較熟悉的,前面的分辨率就是用的像素為單位,大多數(shù)情況下,比如UI設(shè)計、Android原生API都會以px作為統(tǒng)一的計量單位, dip和dp是一個意思,都是Density Independent Pixels的縮寫,即密度無關(guān)像素,上面我們說過,dpi是屏幕像素密度,假如一英寸里面有160個像素,這個屏幕的像素密度就是160dpi,那么在這
5、種情況下,dp和px如何換算呢?在Android中,規(guī)定以160dpi為基準(zhǔn),1dip=1px,如果密度是320dpi,則1dip=2px,以此類推。 sp,即scale-independent pixels,與dp類似,但是可以根據(jù)文字大小首選項進(jìn)行放縮,是設(shè)置字體大小的御用單位。假如同樣都是畫一條480px的線,在720*1280分辨率手機上顯示為2/3屏幕寬度,在480*800的手機上則占滿了全屏,如果使用dp為單位,在這兩種分辨率下160dp都顯示為屏幕一般的長度。這也是為什么在Android開發(fā)中,寫布局的時候要盡量使用dp而不是px的原因。下頁圖例3. 什么是mdpi、hdpi、x
6、dpi、xxdpi、xxxdpi?如何計算和區(qū)分? 用于區(qū)分不同的像素密度?,F(xiàn)在主流的手機,都可以找到自己所在的屏幕密度檔次。比如一般來說720p的手機是xhdpi,1080p的是xxhdpi。還有一種情況,比如同樣都是4 英寸的480*800和4英寸的960*540,盡管實際算出來的dpi不一樣,但是都要歸到hdpi這一檔,dpi都變成了240,這是Android 系統(tǒng)做的一種近似處理,目的是為了簡化計算。也就是說,雖然實際上手機的密度有很多種,但是大家會找到自己的近似區(qū)間,然后用區(qū)間的代表值去做運算。根據(jù)前面講的屏幕密度區(qū)間,你可以記住這樣一個簡單的計算方法:dp 是一個虛擬的概念,是在程
7、序運行的時候算出來的。怎么理解呢?Android設(shè)備那么多,分辨率也那么多,直接學(xué)iOS用px做單位肯定不行的。為此 Google搞了一個叫dp的東西,換算公式是dp=(dpi/160)*px。也就是說,在密度為160dpi的屏幕上,1px就是1dp。依次類推, 在320dpi的屏幕上,1dp就是2px。屏幕密度越大,1個dp對應(yīng)的px也就越多。二,解決方案-屏幕適配 1、圖片適配 2、尺寸適配 3、布局適配 4、代碼適配 5、權(quán)重適配1、圖片適配圖片的查找順序:ldpi 、mdpi 、 hdpi 、xhdpi、xxhdpi、xxxhdpi先找自己對應(yīng)的文件夾,再往大的找,大的文件夾中沒有圖片
8、,就再往小的找例如mdpi(480*320)的手機,查找順序如下mdpi 、drawable 、 hdpi 、xhdpi、xxhdpi、xxxhdpi、ldip 2、尺寸適配 根據(jù)分辨率創(chuàng)建相應(yīng)values文件夾, 比如 values-1280 x720 (大值在前) 在values文件夾下創(chuàng)建:dimens xml文件 在values-800 x480文件夾下創(chuàng)建:dimens xml文件 在values-1280 x720文件夾下創(chuàng)建:dimens xml文件代碼演示屏幕寬度的一半。相應(yīng)的,在開發(fā)的時候,Google提供了一些資源目錄,你可以把對應(yīng)大小的圖片放進(jìn)去。舉個例子,你想展示一張1
9、00dp*100dp的圖片,那么在mdpi目錄下,你需要放100px*100px的原圖。在xxxhdpi下,這張圖片就得是 300px*300px。你的APP在運行的時候,如果需要加載這張圖片,系統(tǒng)就會根據(jù)當(dāng)前手機的密度,去相應(yīng)的資源目錄下去找。你可能會問,找不到怎么辦呢?比如當(dāng)前是mdpi的手機,系統(tǒng)發(fā)現(xiàn)mdpi下沒有這張圖,就會去比mdpi更大的目錄找,然后進(jìn)行縮放。實在找不到就去比mdpi更小的目錄找, 找到之后再拉伸。那么設(shè)計師在出圖的時候,有兩種方法可以選。一是按照官方的推薦方法,在上面所有目錄下各放置一份同樣的圖片,根據(jù)dp和px的換算關(guān)系切成不同的大小,讓系統(tǒng)自動去尋找最合適的圖
10、片。這種方法成倍的增加設(shè)計師的工作量不說,還會增加安裝包的體積,用戶下載的時候要多耗費流量。第二種方法是選一個基準(zhǔn)的屏幕密度,比如xhdpi,720p。所有的資源都放在這里,讓系統(tǒng)自動 去縮放。這種方法呢,對于小屏幕的手機來說,因為要在運行的時候把一張大圖縮放成小圖,不如直接用小圖節(jié)省內(nèi)存。對大屏幕的手機呢,比如你720p的圖拿 到1080p的手機去顯示,肯定會因為縮放而失真。綜合起來的話,我更傾向于第二種方法。具體選擇哪種屏幕密度做標(biāo)準(zhǔn),你可以參考下Google官方的統(tǒng)計或者友盟上面的主流分辨率。3、布局適配和圖片適配差不多。我們可以為不同的屏幕創(chuàng)建不同的layout文件夾如果我們想讓大屏幕的手機顯示布局和別的手機不一樣,就可以再為大屏創(chuàng)建一個layout。根據(jù)分辨率創(chuàng)建layou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股票質(zhì)押融資專項合作協(xié)議6篇
- 2025年度茶樓改造升級投資合作協(xié)議范本4篇
- 2025年投資代持業(yè)務(wù)風(fēng)險管理協(xié)議3篇
- 專業(yè)居間服務(wù)協(xié)議爭議上訴案例文檔一
- 二零二五年度工業(yè)用電負(fù)荷管理及轉(zhuǎn)供電協(xié)議3篇
- 二零二五版城市集體土地房屋買賣合同3篇
- 2025年度拆墻工程進(jìn)度管理與費用結(jié)算合同4篇
- 二手房買賣合同格式(2024版)
- 二零二五版?zhèn)€人車輛租賃結(jié)算管理合同2篇
- 2024版施工圖設(shè)計服務(wù)外包協(xié)議文件版B版
- 【傳媒大學(xué)】2024年新營銷
- 乳腺癌的綜合治療及進(jìn)展
- 【大學(xué)課件】基于BGP協(xié)議的IP黑名單分發(fā)系統(tǒng)
- 2025屆廣東省佛山市高三上學(xué)期普通高中教學(xué)質(zhì)量檢測(一模)英語試卷(無答案)
- 自身免疫性腦炎課件
- 人力資源管理各崗位工作職責(zé)
- 信陽農(nóng)林學(xué)院《新媒體傳播學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024建筑公司年終工作總結(jié)(32篇)
- 信息安全意識培訓(xùn)課件
- 2024年項目投資計劃書(三篇)
- 配電安規(guī)課件
評論
0/150
提交評論