日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

android屏幕適配sw規(guī)則

作者:jzlhll123 更新時(shí)間: 2022-08-30 編程語(yǔ)言
## 獲取屏幕寬度,截圖來(lái)看尺寸也行
adb shell screencap -p /sdcard/a.png
adb pull /sdcard/a.png
#或者
adb shell dumpsys display| grep StableDisplay       

#獲取density
adb shell wm density

adb shell dumpsys display| grep StableDisplay       
  mStableDisplaySize=Point(1024, 600)
      StableDisplayWidth=1024
      StableDisplayHeight=600

 adb shell wm density
Physical density: 160

通過(guò)獲取到的屏幕短的邊長(zhǎng)即(sw, smallWidth),
比如我司的機(jī)器有三款,分別為:
10寸,1280800 density 160
7寸,1024
600 density 160
6寸,960*480 density 160

計(jì)算sw dp公式:160*sw/density
即,
分別目標(biāo) 為:sw800dp, sw600dp, sw480dp。

對(duì)于xml的sw規(guī)則而言,他的規(guī)則是:
規(guī)則:優(yōu)先匹配進(jìn)入到能容許的sw尺寸文件;如果不存在,則往下縮小進(jìn)入,直到匹配到停止,或者墜入默認(rèn)values文件夾。
如果你寫了sw240dp, sw320dp的資源,基本他就不會(huì)再進(jìn)入到默認(rèn)的values。 因?yàn)樗_實(shí)已經(jīng)十分的小,任意的sw機(jī)器基本能進(jìn)入。

舉例:你有5個(gè)文件夾,分別為sw1000dp, sw800dp, sw600dp, sw480dp, sw240dp.

從高的嘗試匹配,比如去逐漸縮小,比如我的7寸機(jī)器,不能進(jìn)入sw1000dp;不能進(jìn)入800,只能進(jìn)入sw600dp,則他會(huì)優(yōu)先匹配到sw600dp里面的資源。
同樣的,我的6寸會(huì)進(jìn)入到sw480dp。

但是我現(xiàn)在想以最少代碼來(lái)編寫,以及默認(rèn)的values我們還沒(méi)有說(shuō)。

比如我只創(chuàng)建默認(rèn)values。再創(chuàng)建sw600dp,沒(méi)有其他目錄。
對(duì)于我的3款機(jī)器,10寸和7寸都往sw600dp里面適配進(jìn)去;而6寸則由于本身是480,進(jìn)不去,只能跌入到默認(rèn)。

速記:

  1. 計(jì)算sw 目標(biāo)文件夾dp公式:160*sw/density
  2. sw的規(guī)則是胖子過(guò)門檢測(cè)機(jī),從默認(rèn)的values->sw小dp->sw大dp的順序,一直到過(guò)不去的那個(gè)門,退回1個(gè),就是他能進(jìn)的門,即能匹配到的文件夾。

原文鏈接:https://blog.csdn.net/jzlhll123/article/details/125170986

欄目分類
最近更新