理解今日頭條屏幕適配方案

我理解中的今日頭條屏幕適配方案是通過(guò)修改系統(tǒng)的density,使每個(gè)view的寬度或者高度,占屏幕的百分比與最初設(shè)計(jì)開(kāi)發(fā)時(shí)一致.來(lái)達(dá)到適配效果

為什么需要適配?

計(jì)算公式: dp = px / density*

假設(shè)我們?cè)诓季治募袑?xiě)了一個(gè) 100dp * 100dp 的 View,這個(gè)View最終顯示到不同屏幕像素下面的大小是不一樣的

  • 設(shè)備1: 屏幕寬度為 1080px江解,480dpi拆又,屏幕的寬度總dp = 1080 / (480 / 160) = 360dp
  • 設(shè)備2: 屏幕寬度為 1440px,560dpi余佃,屏幕的寬度總dp = 1440 / (560 / 160) = 411dp

那么這個(gè)100dp * 100dp 的View
在設(shè)備1上面寬度占比 = 100dp / 360dp = 0.2777 = 27.28%
在設(shè)備2上面寬度占比 = 100dp / 411dp = 0.2433 = 24.33%

可以看到在這2個(gè)設(shè)備上面顯示出來(lái)占屏幕的百分比就不同,最終顯示的大小也不同,所以需要另外做適配

如何適配?

計(jì)算公式: dp = px / density*

我們平時(shí)在布局里面寫(xiě)的單位dp, 最終系統(tǒng)在顯示之前會(huì)用上面的計(jì)算公式轉(zhuǎn)換為px , 那么如果我們能根據(jù)不同的設(shè)備,計(jì)算出density, 然后賦值給系統(tǒng)再去計(jì)算,就能達(dá)到固定的百分比來(lái)適配不同的設(shè)備了

適配原理

假設(shè)我們當(dāng)前開(kāi)發(fā)中正在使用的設(shè)備的寬度是 375dp
而我們?cè)诓季种袑?xiě)了一個(gè)100dp * 100dp 的 View
那這個(gè)View在我們開(kāi)發(fā)的時(shí)候看到的效果就是:

占屏幕百分比 = 100dp / 375dp = 0.2666 = 26.67%

  • 設(shè)備1: 屏幕寬度為 1080px呀打,480dpi肪虎,屏幕的寬度總dp = 1080 / (480 / 160) = 360dp
  • 設(shè)備2: 屏幕寬度為 1440px,560dpi哮幢,屏幕的寬度總dp = 1440 / (560 / 160) = 411dp

那么在設(shè)備1中淆储,根據(jù)公式算出 density = px / dp = 1080px / 375dp = 2.88
再把density = 2.88賦值給系統(tǒng),這個(gè)時(shí)候?qū)挾?00dp 的View換算成px = 100dp * 2.88 = 288px

占屏幕百分比 = 288px / 1080px = 0.2666 = 26.67%
剛好和上面原來(lái)開(kāi)發(fā)中的占屏幕百分比相同

同樣的在設(shè)備2中家浇,根據(jù)公式算出 density = px / dp = 1440px / 375dp = 3.84
再把density = 3.84賦值給系統(tǒng)本砰,這個(gè)時(shí)候?qū)挾?00dp 的View換算成px = 100dp * 3.84 = 384px

占屏幕百分比 = 384px / 1440px = 0.2666 = 26.67%,也剛好和上面原來(lái)的占屏幕百分比相同钢悲,達(dá)到完美適配

如果還想了解更多關(guān)于今日頭條屏幕適配方案或者想具體使用到項(xiàng)目里面
騷年你的屏幕適配方式該升級(jí)了!-今日頭條適配方案

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末点额,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子莺琳,更是在濱河造成了極大的恐慌还棱,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惭等,死亡現(xiàn)場(chǎng)離奇詭異珍手,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)辞做,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門琳要,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人秤茅,你說(shuō)我怎么就攤上這事稚补。” “怎么了框喳?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵课幕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我五垮,道長(zhǎng)乍惊,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任放仗,我火速辦了婚禮润绎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己凡橱,他們只是感情好小作,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著稼钩,像睡著了一般顾稀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坝撑,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天静秆,我揣著相機(jī)與錄音,去河邊找鬼巡李。 笑死抚笔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的侨拦。 我是一名探鬼主播殊橙,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼狱从!你這毒婦竟也來(lái)了膨蛮?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤季研,失蹤者是張志新(化名)和其女友劉穎敞葛,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體与涡,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惹谐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驼卖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氨肌。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖款慨,靈堂內(nèi)的尸體忽然破棺而出儒飒,到底是詐尸還是另有隱情,我是刑警寧澤檩奠,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站附帽,受9級(jí)特大地震影響埠戳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蕉扮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧待榔,春花似錦、人聲如沸在岂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蔽午。三九已至,卻和暖如春酬蹋,著一層夾襖步出監(jiān)牢的瞬間及老,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工范抓, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留骄恶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓匕垫,卻偏偏與公主長(zhǎng)得像僧鲁,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子象泵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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