手機適配那點事兒

2021-07-24 08:41:52 字數 1193 閱讀 1314

題目寫的比較輕鬆點,實際情況沒那麼簡單。

首先要說的是  尺寸 和 解析度 是兩個東西 是兩個東西 是兩個東西,不要混為一談,你所看到的裝置大小 是尺寸,螢幕所呈現的清晰度是解析度,接下來我們好好談這兩樣東西。

1.我們了解下 尺寸概念, 現在市場上 都說幾點幾英吋 大螢幕手機 具體是什麼概念呢?

1 英吋 = 2.54厘公尺

手機算尺寸是通過 手機螢幕的對角線來計算的  舉個例子  6plus手機螢幕對角線長度為14厘公尺 親測 官方說是 5.5英吋  實際情況是 5.5*2.54 = 13.97 所以是差不多的,我是不是賺了?哈哈。

2.再談下解析度;

6plus  1920*1080  ppi : 401

ppi :每英吋畫素數     計算公式:解析度寬平方 + 解析度長平方 開根號 之後 除以 手機尺寸數, 這麼計算相信你們很快知道 其實就是三角形勾股定理 計算第三邊的解析度 然後除以英吋數。     6plus計算結果為   400.5  換句話說 如果ppi的值越高,則畫素越高,畫素越高,在相同尺寸的螢幕中顯示的就會越小。這裡可能有很多人不理解,沒關係。

這麼說 相同的一幅,裡面的畫素點是固定的對吧? 這個你不能否認,那麼解析度越高的螢幕,單位畫素點越密集,也就是ppi越高,那麼單位畫素點越高的,每個單位內 能夠容納的畫素點就越多,你要將一幅填充到這個螢幕中,就想往乙個水壺裡倒水這麼簡單,ppi越高的,這個水壺就越大,能容納的水就越多,但是螢幕上只顯示你有多少個水壺,而不是水壺的體積,所以 你明白了嘛? 這樣 ppi 越高的 水壺個數越少。所以就越小,理解了這點 我們接著說;

dpi原來是印刷上的記量單位,意思是每英吋上,所能印刷的網點數(dot per inch)

這也就是所謂android裡用的dp這個與裝置無關的單位,這個單位規定了在 ppi 為160的時候 1dp = 1px, 換句話說 就是 1px = 1dp * ppi   /  160

我們都知道 1px表示乙個畫素的單位 那麼之所以裝置無關 從這個公式就可以得到結論 ppi 越大的時候 dp 不變,px則越大,也就是說 在高解析度的時候 所占用的畫素也相對增加,這就是所謂的適配。

下面說說 android 專案中的一些包

ldpi 240*360

mdpi 320*480

hdpi 480*800

xhdpi 720*1280

xxhdpi 1080*1920

先寫到這 具體適配方法 以後寫 畢竟自己還在做

游標那點事兒

兩種迴圈跳出方法 1 稍顯複雜點 create procedure dbo.usp cralltables client id varchar 256 asdeclare table name varchar 50 set nocount on declare t name cur cursor l...

imu那點事兒

一.對於bosch晶元的總結 offset 是指sensor的零偏。datasheet 裡邊描述的是在不同的情況下offset 的spec.offa,int 表示sensor 出廠時最初的offset spec,是component level offa,board 表示sensor 在貼到pcb ...

Spring MVC那點事兒

1 spring mvc的啟動原理?spring mvc是基於ioc容器的,因此需要先建立ioc容器,才能建立對應的spring mvc執行環境。ioc容器是通過contextloaderlistener建立的,這個類通過servletcontext建立。在springmvc中,最核心的思想其實就是...