2012-03-06 86 views
1

我正在爲android開發,我的代碼在nexus或任何3.7英寸設備上運行完美。 如果我在平板電腦上運行它(7或10.1英寸),那麼字體和按鈕非常小,間距太大。分辨率和密度

如果我在2.7 QVGA上運行它,那麼按鈕太大且重疊。

我在整個佈局中使用了dp和sp,所以我很驚訝它沒有根據不同的屏幕尺寸/密度進行調整。 這是否意味着我必須在3個佈局文件夾(大,中,小)中使用相同的XML佈局,並將我的drawable放在3個不同密度的文件夾中? 還是我在這裏不舒服。是的,我閱讀了「支持多屏」文檔,它只是丟失了我的細節(但我確實遵循了使用dp和sp的提示)。我正在尋找更多的總結/一般方法的答案。

回答

0

dp和sp根據屏幕密度進行調整。因此,具有500 dpi和4000 dpi但具有相同屏幕尺寸的屏幕看起來是相同的。

如果他們有不同的屏幕尺寸,它將不會適合你想要的。如果你想支持多種屏幕尺寸,你必須使用權重或百分比​​。

關鍵是dp =與設備無關的像素,它只根據密度而不是屏幕尺寸進行調整。

+0

ohhh所以如果我想說這個按鈕是在圖像的左側20dp,那麼在另一個屏幕大小這個距離可以太短或太長,對嗎?我不確定重量/百分比可以用於這種要求。我可以用小dp創建另一個佈局,比如說較小的屏幕尺寸 – Snake 2012-03-06 18:04:57

+0

也可以如何調整字體大小? – Snake 2012-03-06 18:05:21

+0

正確。實際上,平板電腦的佈局應該與平板電腦完全相同 - 但只是有很多空間可用於右/底/任何。至於字體,我並不確定,但可能需要切實改變。另外,是的,您可以針對不同的屏幕尺寸使用不同的佈局。 – jsimpson 2012-03-06 18:35:53

0

在大多數情況下,如果您不製作平板電腦應用程序,則不需要針對不同的密度/尺寸製作多個XML佈局。你所要做的就是像你說的那樣用DP和SP定義尺寸。

但有必要在可繪製文件夾中提供不同的圖像,以便在屏幕尺寸/密度上顯示一個或多個功能。

如果您將所有圖像放在可繪製文件夾中(不指定hdi,ldi或mdi),Android會嘗試調整圖像但不總是正常工作。

希望它有幫助。