您好,登錄后才能下訂單哦!
Android開發(fā)中最頭疼的問題之一就是兼容不同尺寸和分辨率的設(shè)備。這里推薦一篇總結(jié)的比較完整的《Android開發(fā):最全面、最易懂的Android屏幕適配解決方案》。這篇文章對(duì)屏幕兼容的許多問題都做了詳述,這里只補(bǔ)充一點(diǎn),就是關(guān)于在使用最小寬度限定符時(shí)這個(gè)最小寬度的該如何計(jì)算。
最小寬度限定符可以使用一個(gè)與屏幕像素密度無關(guān)為單位(dp)的數(shù)值區(qū)分出的不同設(shè)備,以應(yīng)用不同的資源。如下圖中values-sw600dp的sw表示最小寬度,那么600dp是如何確定的呢?
舉個(gè)例子:一般情況下我們可以容易知道設(shè)備的分辨率和尺寸的參數(shù)。比如現(xiàn)在有平板A(分辨率1280*720px,尺寸是8inch),手機(jī)B(分辨率1920*1080px,尺寸是5.7inch),手機(jī)C(分辨率1280*720px,尺寸是5inch)。通過下面的屏幕像素密度的計(jì)算公式,我們可以分別計(jì)算出他們的屏幕像素密度:
平板A約為184dpi,手機(jī)B約為386dpi,手機(jī)C約為293dpi。
接下里需要注意的是,最小寬度是不考慮橫屏或豎屏的,也就是說最小寬度是設(shè)備屏幕四條邊里最短的那兩條邊。如果需要考慮橫豎屏那么可以加入屏幕方向限定符,這不在我們討論之列。那么接下來我們?nèi)∽疃踢叺南袼財(cái)?shù),并通過下面的公式計(jì)算最小寬度(dp):
平板A約為626dp,手機(jī)B約為448dp,手機(jī)C約為393dp。
如上,使用600dp就可以區(qū)分出平板和手機(jī)兩類設(shè)備,如果需要詳細(xì)區(qū)分手機(jī)B和C可以再考慮設(shè)置sw400dp作為區(qū)分。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。