Android 屏幕適配方案詳解


前言:

之前屏幕適配這個(gè)問(wèn)題一直困擾著我东抹。

1.為什么要進(jìn)行適配,當(dāng)然這個(gè)問(wèn)題有些白癡沃测,對(duì)于開(kāi)發(fā)者而言肯定是遇到了此類問(wèn)題才會(huì)尋求答案。

2.現(xiàn)在應(yīng)用比較廣泛的適配方案有哪些蒂破。

3.哪一種是最好的。我要用最高效附迷,最安全惧互,最簡(jiǎn)便的方案喇伯。

1.為什么要進(jìn)行適配

?我們不僅要會(huì)適配喊儡,其實(shí)更應(yīng)該清楚為什么適配稻据,那么多適配方案該怎么選艾猜?當(dāng)然就要搞清楚這個(gè)問(wèn)題。

分辨率碎片化

什么是分辨率匆赃?就是講解分辨率之前淤毛,我們要明白一個(gè)概念炸庞。在我們手機(jī)上呈現(xiàn)的一條線钱床,一個(gè)面埠居,一張圖像都是由最小的單位像素(px)來(lái)表示的.查牌。假如分辨率1920*1080 就代表豎向1920個(gè)像素,橫向1080個(gè)像素滥壕。至于Android究竟有多少種分辨率的屏幕纸颜,我不知道绎橘,只知道有很多種胁孙。

尺寸碎片化

屏幕尺寸指屏幕的對(duì)角線的長(zhǎng)度称鳞,單位是英寸涮较,1英寸=2.54厘米冈止,

比如常見(jiàn)的屏幕尺寸有4.2狂票、4.7熙暴、5.0闺属、5.2、5.5周霉、6.0等掂器。

dpi

上圖已經(jīng)說(shuō)明dpi了,就是單位尺寸內(nèi)的像素?cái)?shù)量dpi=px/inch(尺寸)俱箱,dpi數(shù)量越大說(shuō)明單位內(nèi)像素密度越大国瓮,顯示越細(xì)膩。

dp

dp=dpi/160狞谱。為什么要除以160巍膘?我也不知道。從dpi的計(jì)算公式上可以看出dp能夠根據(jù)不同屏幕(分辨率/尺寸也就是dpi)獲得不同的像素(px)數(shù)量芋簿。這是Android最原始的適配方案。

Density

這個(gè)是指屏幕上每平方英寸(2.54 ^ 2 平方厘米)中含有的像素點(diǎn)數(shù)量璃饱。

這些概念我大概梳理了一下与斤,如果不清楚,請(qǐng)仔細(xì)再查閱相關(guān)文檔

看完上面概念就會(huì)有疑問(wèn)撩穿?如果我用px直接展示邊距或者控件大小磷支,分辨率不同的屏幕,分辨率越高的話我的實(shí)際大小就會(huì)變小食寡,那我用dp就好了。是的抵皱,dp就是最原始的適配方案,但是如果兩塊屏幕尺寸一樣呻畸,分辨率差一倍呢移盆?density就會(huì)差一倍伤为,這樣即使你使用了dp作為單位,view的大小在不同手機(jī)中還是會(huì)有尺寸的變化绞愚。

2.都有哪些適配方案呢

1.寬度限定符適配

2.鴻洋大神的AndroidAutoLayout

3.百分比

4.今日頭條屏幕適配方案

5.smallestWidth適配

第一種呢就是窮舉市面上所有的手機(jī)分辨率設(shè)定一個(gè)基準(zhǔn)利率位衩,其他分辨率都根據(jù)這個(gè)基準(zhǔn)分辨率來(lái)計(jì)算,在不同的尺寸文件夾內(nèi)部蚂四,根據(jù)該尺寸編寫對(duì)應(yīng)的dimens文件。

這個(gè)方案呢遂赠,容錯(cuò)率比較差,你必須找到所有的分辨率的手機(jī)跷睦,造成apk的體積龐大。

鴻洋大神的AndroidAutoLayout其實(shí)就是百分比抑诸,至于為什么要分開(kāi)說(shuō)呢?因?yàn)檫@個(gè)庫(kù)已經(jīng)不維護(hù)了蜕乡,如果你要自己搭一個(gè)這樣的庫(kù)也是一個(gè)思路。

第4種方案它是通過(guò)修改density值來(lái)實(shí)現(xiàn)层玲。公式是當(dāng)前設(shè)備屏幕總寬度(單位為像素)/ 設(shè)計(jì)圖總寬度(單位為 dp) = density反症。特點(diǎn)呢就是開(kāi)發(fā)快,穩(wěn)定性有所欠缺铅碍。

第五種方案。這種機(jī)制和上文提到的寬高限定符適配原理上是一樣的胞谈,都是系統(tǒng)通過(guò)特定的規(guī)則來(lái)選擇對(duì)應(yīng)的文件》成可以看作是升級(jí)版,升級(jí)的地方就是減小了導(dǎo)入文件的數(shù)量爵嗅,從而減小了apk的體積,而且利用dp來(lái)適配笨蚁,容錯(cuò)率更高。相比于第四種也更加穩(wěn)定括细。

還有其他方案就不一一列舉了,沒(méi)有最好的方案奋单,只有最合適。至于更詳細(xì)的原理和使用览濒,已經(jīng)附上鏈接,點(diǎn)擊即可查看贷笛。實(shí)在是不想碼字了。見(jiàn)諒乏苦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市汇荐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌掀淘,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件革娄,死亡現(xiàn)場(chǎng)離奇詭異秕狰,居然都是意外死亡躁染,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門吞彤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人饰恕,你說(shuō)我怎么就攤上這事÷袂叮” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵雹嗦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我了罪,道長(zhǎng),這世上最難降的妖魔是什么泊藕? 我笑而不...
    開(kāi)封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮娃圆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘讼呢。我一直安慰自己,他們只是感情好臀稚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著窜管,像睡著了一般。 火紅的嫁衣襯著肌膚如雪幕帆。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天失乾,我揣著相機(jī)與錄音常熙,去河邊找鬼碱茁。 笑死裸卫,一個(gè)胖子當(dāng)著我的面吹牛纽竣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜓氨,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼穴吹!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起港令,我...
    開(kāi)封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缠借,沒(méi)想到半個(gè)月后干毅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡硝逢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年绅喉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了渠鸽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柴罐。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡徽缚,死狀恐怖革屠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情似芝,我是刑警寧澤那婉,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布党瓮,位于F島的核電站,受9級(jí)特大地震影響寞奸,放射性物質(zhì)發(fā)生泄漏呛谜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一隐岛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧礼仗,春花似錦、人聲如沸元践。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)饥伊。三九已至象浑,卻和暖如春琅豆,著一層夾襖步出監(jiān)牢的瞬間愉豺,已是汗流浹背茫因。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冻押,地道東北人驰贷。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓洛巢,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親稿茉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子锹锰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容