2011-09-08 80 views
3

我不是一個android開發人員,我試圖瞭解他們需要什麼圖形資源來製作一個應用程序,它可以在許多android設備上運行。android開發者 - 你需要從設計者那裏得到什麼?

我已經(試過)讀了這個頁面http://developer.android.com/guide/practices/screens_support.html,但覺得有些困惑。他們說如果屏幕密度是重要的事情「爲不同的屏幕密度提供替代位圖drawables」,但是,如果你不知道屏幕的大小,你不能真正在佈局方面思考。是在相同密度的所有屏幕上製作相同尺寸的按鈕和徽標的主意,例如在大屏幕上只有一堆空間,而在小屏幕上它們全部緊密地包裝在一起?我不明白如何思考像素密度讓我更接近知道要提供什麼。

你應該爲每個屏幕尺寸和像素密度創建資源嗎?這樣說。

無論如何有人可以告訴我...如果你正在開發一個應用程序,你需要什麼圖形?是否有可能提供龐大的圖形並讓它們縮小?無論如何,開發者不得不自己弄亂圖形?或者他可以提供一組可以使用的特定大小的png文件嗎?

謝謝!

回答

0

這是我們在工作地點做的事。假設我們得到應用程序的設計。我們讓我們的設計師爲同樣的設計創造3個psds版本。 3個psd的是3個範圍的desnity。用於PSD的大小是

240 * 320(低密度)

320 * 480(中密度)

480×800(高密度)

大多數時間,當我寫佈局,我使用wrap_content這意味着一個視圖必須採取它包裝的內容的大小。在大多數情況下,這是有效的,因爲我有一個密度特定版本的設計,所以我用作背景的圖像應該是合適的。需要注意的是,在android中,您可以將同一圖像的3種尺寸放在不同的文件夾中,例如drawable/ldpi,drawable/hdpi。

例如:你有一個bg.png並且有一個大型手機版本和一個小型手機版本。您將big bg.png放入hdpi文件夾和ldpi文件夾中的小png中。 Android會根據手機密度自動選擇合適的圖像。但是你需要確保文件名是相同的。

有些情況下,您需要調整背景圖像的大小,而不會使圖像過於縮放。爲此Android使用draw9patch工具。使用此工具,您可以指定可縮放的區域和不應縮放的區域。

0

9 Patch png's是你的朋友。對他們的閱讀在這裏:

http://developer.android.com/guide/topics/resources/drawable-resource.html#NinePatch

這裏:

http://developer.android.com/guide/developing/tools/draw9patch.html

這些是任何一種圖形,這將很好地伸展你最好的選擇(即沒有梯度,他們會出來可能在某些屏幕上略微像素化)這些類型圖像的強大之處在於,如果需要拉伸圖形,您可以告訴系統要重複哪些像素。這意味着,拉伸可以在不損失圖像質量來完成(同樣取決於你的形象,你如何選擇使九個補丁在draw9patch節目「秀壞補丁」按鈕,會顯示潛在的問題。提示:保持你的重複像素在左邊爲1,在頂部爲1,因此不會出現任何問題)任何可以製作9個補丁的圖形只需要1個大小,因爲系統可以有效地製作任意大小的圖像。

是否應該爲每個屏幕尺寸和像素密度創建資源?

你可以,如果你喜歡。這樣可以確保應用程序在所有設備上看起來都很棒。我知道這對所有項目都是不可行的。一般情況下,如果你爲不同的密度製作單獨的資源,你會在大多數設備上看到可以接受的東西。所有的設備被列爲LDPI,MDPI,或者華電國際(有可能是一個「特高」的水平,現在也一樣,我不能肯定把我的頭頂部)所以,如果你提供的圖形爲那些3層的密度,則系統會知道設備落在哪裏,並將拉出正確的圖形。

是否可以提供很大的圖形並讓它們縮小?

是系統將縮小圖形,如果needbe。但請注意,這種方法會造成後果。首先,每當系統需要向上或向下擴展圖形時,都會佔用CPU和內存。這可能不是一個問題,如果你的東西比較少,但如果你有很多東西,它可能會導致較低功率的手機出現明顯的延遲時間。其次,據我所知,android中的所有圖形都是光柵,這意味着如果讓系統向上或向下縮放圖像質量會降低一些。再次取決於具體的圖像,這可能在運行時在實際設備上或多或少引人注目。

我最好的建議是用幾個不同大小的資源提供給他們,並運行在許多不同的設備上的應用程序,你可以。一旦你看到不同尺寸的設備上你的不同資源的外觀,你就會有更好的感覺,你需要提供哪些資源才能讓界面在儘可能一致的屏幕尺寸和密度範圍內保持一致。

+0

哇。非常感謝你的幫助。至少現在我覺得我有一些處理它。我肯定有一些圖形需要9補丁工具。這聽起來像是開發者一旦開始一段時間來回,可能是不可避免的。我有些驚訝的是有240 * 320屏幕的Android手機在使用。我不認爲你真的可以使用像素很少的操作系統。再次感謝annyway。 – user935219