Android畫素轉換的研究 二

2021-08-26 04:08:46 字數 1006 閱讀 9122

如何讓虛擬機器和真機顯示的一樣

之前我們得出結論:

相同的dip,在不同解析度的螢幕上,在螢幕的相對寬度是一樣的。所謂相對寬度,可以理解為是控制項占有螢幕的百分比。

在density = 160的時候,1dip =1px

我們可以得到這麼乙個公式:

desity :160 = px : dip

現在我們繼續研究。我們換一種對比方式。

這次我們比較乙個螢幕長寬比不同的,具有相同寬度的螢幕的情況。

虛擬機器1:

pix-003

顯示的效果如下:

pix-004

虛擬機器3:

pix-007

顯示效果:

pix-008

哇塞!完全的不一樣啊,整個都變形了。

相同的density,相同的240dpi,但是乙個按鈕佔全部寬度,另乙個按鈕只佔約3/4寬度。這個跟之前推算出來的結論完全不吻合。

解釋只能是:不同螢幕長寬比,即使有相同的density,也沒用。

但是我們仔細看看,好像高度的比例是一樣的。

那我們再來看一下,相同高度的情況:

虛擬機器:

pix-003

顯示的效果如下:

pix-004

虛擬機器4:

pix-009

效果如下:

pix-010

可以看出來,是按照高度的比例來顯示的。

所以我們可以得出,如果按dip來控制按鈕的大小和位置:

1, 螢幕長寬比例不同的時候,以高度來做兌換比例。

2, 控制項自身的高寬比是不會隨著螢幕長寬比的改變而改變。

3, 螢幕長寬比改變之後,控制項以高度的比例協調控制項相對位置和大小。

在螢幕長寬比例不同的時候,公式:

desity :160 = px : dip

是按高度來計算的,寬度是無效的。

待續...

android中的畫素單位dp px pt sp

看到有很多不太理解dp sp和px的區別 現在這裡介紹一下dp和sp。dp也就是dip。這個和sp基本類似。如果設定表示長度 高度等屬性時可以使用dp 或sp。但如果設定字型,需要使用sp。dp是與密度無關,sp除了與密度無關外,還與scale無關。如果螢幕密度為160,這時dp和sp和px是一樣的...

Android中的畫素單位px dp sp的區別

使用規律,務必牢記 文字的尺寸一律用sp單位,非文字的尺寸一律使用dp單位,才用px。首先,我們先弄明白px這個單位的含義,因為px是dp sp的基礎,其實dp sp是為了解決螢幕適配的問題,在px單位基礎之上進行計算所得到的單位。px其實就是計算機語言中的畫素,我們知道一張精美的是由許許多多的畫素...

Android手機的畫素密度(dpi)計算

1 解析度。解析度就是手機螢幕的畫素點數,一般描述成螢幕的 寬 高 安卓手機螢幕常見的解析度有480 800 720 1280 1080 1920等。720 1280表示此螢幕在寬度方向有720個畫素,在高度方向有1280個畫素。2 螢幕大小。螢幕大小是手機對角線的物理尺寸,以英吋 inch 為單位...