2011-08-27 82 views
5

我對Android圖像有問題。Android圖像令我困惑

我只是不知道用什麼尺寸來製作它們以及如何讓它們表現出來。

我來自iPhone的開發權,所以在iPhone開發我會啓動Photoshop,創建一個640 * 960的畫布和設計我的應用程序。

然後,我會剪切生成的設計並導出所有圖像的擴展@ 2x。然後我將它縮放0.5並導出爲標準顯示設備。

這很容易理解......這很容易做到。如果我想要一個圖像佔用一半的屏幕,我將使其高分辨率爲320px,標準分辨率爲160px。

不幸的是,android並不是這樣工作的。我無法弄清楚。目前沒有「簡單轉換」。我不知道在android中有多少個dip屏幕!

因此,我最終使用像wrap_content這樣的東西沒有幫助,因爲然後不同的屏幕只顯示圖像的不同分辨率。我有很多圖像和各種各樣的邊緣無關的問題!

如何通過android適當地使用圖像?

+1

如果你描述你想要做什麼,可能會有幫助;)。您是否閱讀並理解了這一點?:http://developer.android.com/guide/practices/screens_support.html – mibollma

+1

基本上,您必須將正確的圖標保存在正確的文件夾中。 [這是一個很好的工具](http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html)。 – Reno

+0

裏諾 - 感謝那個鏈接 - 它看起來非常有用。我已經申請了Android聊天室,謝謝你的提示(也感謝你在那裏分享我的問題)。 Mibollma我試圖做一個應用程序!大聲笑,它不是真的具體的東西,只是在不同的屏幕上有不同大小的圖像......在我的設計中小圖像突然在屏幕上等巨大... –

回答

4

Android開發更像Web開發。更具體的說,它更像是網頁開發,你可以通過瀏覽器窗口來調整頁面的大小。 iPhone開發更像web dev,您可以使用固定的頁面寬度並且可以控制很多支付。

隨着Android的屏幕可以幾乎任何大小,幾乎任何方向,但最關鍵的是各種分辨率。它就像@ 2x一樣,但由於Android更多樣化,您需要更多的變體。這是不同的,但你會習慣它。

這頁的官方文檔重新顯卡: http://developer.android.com/guide/practices/screens_support.html

但在現實中,我發現這個頁面更加實用的: http://coding.smashingmagazine.com/2011/06/30/designing-for-android/

的目的是,當你有一個像屏幕上的特定物理尺寸,它應該在任何設備上顯示幾乎相同的尺寸,不管它是一個糟糕的低分辨率設備還是超高分辨率設備(如即將推出的那些設備)。

DIP是與物理尺寸相關而不是像素的度量。如果您所說的東西寬度爲100dips,那麼無論設備的分辨率如何,所有Android設備的物理尺寸都是相同的。

您可以將高分辨率圖形粘貼在drawable-xhdpi文件夾中,但Android必須隨時調整大小,因此您可能會看到性能和質量問題。這就是爲什麼你必須提供一套。請記住,當設計時,事情會延伸。不要試圖把所有東西都修復到相同的尺寸,這是行不通的。因此,例如對於按鈕,您可能希望使用可拉伸的圖像(在9幅圖像上進行讀取),以便根據不同的屏幕尺寸調整尺寸。

而且,你可能可以創造出許多的,如果你需要一個應用程序啓動器圖標,你需要使用羅馬Nurik的FANTASTIC圖標工作室工具 http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

因此,例如(菜單,通知等)的圖標,只是給他的工具一個位圖,並對它進行修剪,縮放,填充它,添加3D按鈕效果(光澤和陰影),然後噴出xhdpi,hdpi,mdpi,ldpi版本。它在每個項目上節省了我的時間。

祝你好運!

+1

第二個鏈接非常有幫助,真的讓我開始關注這個問題。 :)所以它的一個應用程序的情況下,我想所有的設備會略有不同。它的所有內容都是關於fill_parents和wrap_contents,以確保它適合所有設備。 –

+0

是的。理解這一切需要時間,但只要堅持不懈,當你解決每個問題時,你就會明白。如果你認爲大多數東西會自動調整大小(9張圖片是重要的),那麼它變得更容易理解。請記住,對於您使用的每張圖像,您需要xhdpi,hdpi,mdpi和ldpi的不同大小的版本,並且通過這樣做,您可以在任何屏幕上將圖像視爲具有固定物理大小。 –

+0

托馬斯,我已經添加了一個工具的另一個鏈接,這是非常非常有用的創建你需要的許多圖像 –

1

看一看這兩個環節:firstsecond

Android手機有不同的大小和密度不像iPhone。對於android開發,您需要清楚您要使用硬編碼值的手機(密度明智)。 如果你想使它通用,那麼使用wrap_content是很好的。我不知道你有什麼問題。你在談論什麼利潤率?你能指定嗎?

+0

我已經讀過那些反覆,雖然他們是非常有幫助,他們仍然模棱兩可,不要讓我對我所做的事情有任何保證。 –

+0

我編輯了我的答案.... 2個鏈接足夠好 – Gaurav