如何讓虛擬機器和真機顯示的一樣
之前我們得出結論:
相同的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 為單位...