2015-06-23 17 views
-2

我一直在做大量的互聯網搜索,使活動佈局適合多種屏幕尺寸。佈局權重可以完成這項工作,但這不是我的要求。我想要使​​用dp值。現在我知道你可以在dimen.xml文件中values-ldpivalues-mdpivalues-hdpivalues-xhdpi文件夾定義dimen資源,ldpimdpihdpixhdpi型屏幕。定義dimen資源到不同的屏幕

問題

我有我的每一個活動的佈局的頂部頭部(LinearLayout)。在ldpi設備上的高度是53dp。我已經在不同的dimen.xml文件中定義了不同的高度。例如對於mdpi我已經定義了60dp。它也在工作。當我在5.1'' WVGA (480 x 800: mdpi)上測試時出現問題。它是一個mdpi屏幕,它應該從values-mdpi/dimen.xml中選擇高度,並且應該與任何mdpi屏幕相同。 但它不是。我想知道那是爲什麼。是不是values-mdpi文件夾是爲所有mdpi屏幕?

+0

爲什麼投下了投票? –

+0

難道你不會把** dp **和** px **混淆嗎?因爲通常情況下,dps只設置一次,因爲「它們會自動縮放」。在**罕見的**場合,您可能想要針對特定​​的密度或分辨率(這是不同的事情)來解決它們。 –

回答

1

您無法通過屏幕大小來確定密度 - 有些設備聲稱它們是一個密度,即使它們可能應該是較低(或更高)的密度。唯一可以確定的是他們會一致。這就是爲什麼你不用dp編排所有東西的原因之一。

你說佈局權重工作。使用它們。使用dps來確定元素的大小几乎總是錯誤的。

+0

使用佈局權重的問題是,我在屏幕下方有一個EditText,當我點擊它來編輯文本軟鍵盤時,我的標題將上面的佈局推上去。我不希望這是因爲我的保存按鈕在我的頭上。 –

+0

將您的佈局設置爲softinputmode調整大小,它將調整您的應用程序的大小,而不是平移標題 –

+0

設置此屬性的位置?不調整大小意味着調整可用空間中的所有東西?像軟鍵盤出現,我的頭變小。 –

2

我認爲你應該嘗試改變文件夾名稱從values- ..到值比值的sw360dp,值-sw480dp,值-sw600dp等根據您的屏幕要求,並比每個不同的dimens.xml文件的每個屏幕。

相關問題