2012-06-06 25 views
0

我有一個簡單的佈局,只有一個按鈕。仿真程序不能正確地使用dps

<Button 
    android:id="@+id/button1" 
    android:layout_width="200dp" 
    android:layout_height="80dp" 
    android:text="Button"/> 

我想看看按鈕按不同密度正確縮放。我創建了三個模擬器,具有不同的抽象lcd密度(120,160和240)。

當我在樹模擬器中運行應用程序時,每個模擬器中的按鈕尺寸都比較大。如果我以像素爲單位讀取按鈕的高度和寬度,我可以看到尺寸是正確的。

模擬器的密度有問題嗎?

Android的版本是ICS。

非常感謝。

編輯。

我上傳了一些關於該問題的圖片。第一個圖像是在160個密度和秒240

screen_with_160_screen_home
screen_with_240_screen_home

你可以看到所有元素ARA在240大,甚至主屏幕。

+0

你需要閱讀本[頁面:支持多種屏幕(http://developer.android.com/guide/prac tices/screens_support.html) – cstrutton

+0

我讀了那個頁面,所以我想這個問題可能在模擬器中,但我不知道我是否設置錯了。 – user1242132

+0

對不起,該頁面未找到。 –

回答

1

//根據密度,當你使用DP會有所不同,或浸

if 200dp in 120 dpi=200×120÷160=150px 
if 200dp in 160 dpi=200×160÷160=200px 
if 200dp in 240 dpi=200×240÷160=300px 

dp/dip會自動規模

如果你想固定尺寸意味着你需要使用px

Best Practices:

+0

這是應用程序返回給我的大小。但是,我認爲按鈕在所有密度下都應該具有相同的大小,因爲在高密度下大多數像素。我注意到主屏幕也沒有縮放顯示。非常感謝你。 – user1242132

+0

我沒有得到你,你讀過最佳做法的鏈接。例如,具有layout_width =「100dp」的視圖在中密度屏幕上測量100像素寬,並且系統在高密度屏幕上將其擴展至150像素寬,使得視圖在屏幕上佔據大致相同的物理空間。 –

+0

我編輯了這個問題,我上傳了兩張圖片,試圖解釋這個問題。 – user1242132