2011-08-05 107 views
0

我知道這個主題有很多問題,但我嘗試搜索大量的「android dpi」帖子,並閱讀在線文檔,但沒有找到我確切的問題。Android:維護圖片資源大小

如果我想創建一個按鈕(或任何圖像資源),將佔用所有設備屏幕上的相同空間 - 我該怎麼做?

據我所知,Android有特定的屏幕尺寸和dpi的分辨率等,但我不太明白具體的圖像應該在任何屏幕上看起來多大。

說,我有我的繪製和佈局文件夾下面的設置(應用只有橫向):

res/drawable-ldpi/button.png (120 dpi) 
res/drawable-mdpi/button.png (160 dpi) 
res/drawable-hdpi/button.png (240 dpi) 

res/layout-small/main.xml - button is set to 100dp 
res/layout-normal/main.xml - button is set to 100dp 
res/layout-large/main.xml - button is set to 100dp 

說我有一個按鈕,我想成爲100dp任何屏幕上。遵循3:4:6比例尺規則,似乎如果我有一個100px寬的mdpi密度的按鈕資源,我應該爲75px的ldpi密度製作另一個按鈕,另一個用於150px的hdpi密度。那是對的嗎?我是否在120dpi創建了75px按鈕,在160dpi處是100px按鈕,在240dpi處是150px按鈕,然後在所有三個佈局文件中只說android:layout_width =「100dp」?或者我可以在不同的dpi上製作全部三個按鈕100px?

現在如果我有那個按鈕9補丁。我是否必須在120dpi,160dpi和240dpi下創建三次按鈕,所有這些都是100px大小?或者我只是在100px和160dpi下創建一個9修補按鈕,並將其放置在mdpi可繪製文件夾中?

在線文檔對我來說有點令人困惑,所以我正在尋找一個簡單的答案。

這是Android版本1.6 +

感謝您的幫助(不適用於3.2等新的東西)......我只想要一個按鈕佔用同一空間3.7" 屏幕上爲7 「屏幕,而不是模糊!

回答

0

你對此有何評論? Afaik,根據我的經驗,在Photoshop中創建圖像時不要更改dpi。我總是將自己的標準留在72我認爲的標準。無論如何,如果您將其設置爲一百萬,我認爲不重要。

您提到的px值對於l m和h是正確的。 雖然我會離開文件夾名稱的mdpi限定符;如果在xhdpi設備上沒有沒有xhdpi限定符的可繪製文件夾,也沒有沒有限定符的文件夾,我不確定協議。

工作流程: 在75,100和150處創建圖像。 將75放在ldpi文件夾中,100放在drawables文件夾中,沒有限定符,150放在hdpi中。 讓您的佈局保持原樣,並保持100dp。它們應該正確縮放。也就是說,如果您使用全分辨率,我認爲您不需要指定圖像大小。

解決我答覆中的不準確問題的評論總是受歡迎的,即使是在線下也是如此。

+0

目前我在'drawable'中放置1個大小,在'drawable-hdpi'中放置2個大小 - 對於覆蓋兩端來說似乎是合理的。其餘的是Android。 – amcc

+0

,它解決了屏幕密度的問題,但沒有解決不同屏幕尺寸的問題 – oat

+0

@QuakiGabbar OP表示他們想要一個按鈕在任何屏幕上都是100dp。在兩個不同的設備上使用「佔用相同的空間」這個術語是不明確的 - 它們是指內容應該是相同的物理尺寸,還是每個設備的屏幕空間應該相同? – ataulm