我目前正處於開發Android應用的初始階段。 我知道有3種不同的屏幕密度:HDPI,MDPI和LDPI。我知道大多數手機使用800x480的屏幕分辨率,或者對於老一代的手機,屏幕分辨率爲480x320。我需要知道的是這些屏幕分辨率屬於哪種密度類別?當我將用於800x480的圖像放在MDPI文件夾中時,當我運行該應用程序時,它們會變得模糊。我在Android屏幕密度方面遇到了一些麻煩
有人可以請我通過如何正確地創建這些不同的屏幕分辨率和密度的圖像?
我目前正處於開發Android應用的初始階段。 我知道有3種不同的屏幕密度:HDPI,MDPI和LDPI。我知道大多數手機使用800x480的屏幕分辨率,或者對於老一代的手機,屏幕分辨率爲480x320。我需要知道的是這些屏幕分辨率屬於哪種密度類別?當我將用於800x480的圖像放在MDPI文件夾中時,當我運行該應用程序時,它們會變得模糊。我在Android屏幕密度方面遇到了一些麻煩
有人可以請我通過如何正確地創建這些不同的屏幕分辨率和密度的圖像?
密度不僅僅是以像素爲單位的屏幕尺寸,它也是以英寸爲單位的屏幕尺寸。您可以擁有800x480的分辨率,但屏幕爲10'您將不會擁有HDPI。
http://developer.android.com/guide/practices/screens_support.html
沒有官方的標準,因爲密度大約是每英寸的像素,而不是屏幕分辨率。但是任何具有800x480分辨率的屏幕都很可能來自hdpi文件夾,這就是爲什麼你看到它模糊。找出目標屏幕密度是什麼,用這個公式:
PX = DP *(screen_density/160)
哪裏screen_density是設備的屏幕密度。
Olegas鏈接到您的文檔具有設置佈局所需的所有信息。
基本上,您希望爲每個屏幕大小(以釐米或英寸爲單位)創建佈局。爲此,您需要創建不同的文件夾,並將它們命名爲res/layout-small
,res/layout-normal
,res/layout-large
和res/layout/xlarge
。
您還需要爲每個屏幕密度(以dpi爲單位)創建不同大小的位圖。再次,您需要創建幾個替代文件夾:res/drawable-ldpi
,res/drawable-mdpi
和res/drawable-hdpi
。
Android OS將根據設備規格決定使用哪組佈局和哪些可繪製的設置。本節描述密度範圍:http://developer.android.com/guide/practices/screens_support.html#range
要了解您需要的位圖大小,可以按照圖標設計指導原則:http://developer.android.com/guide/practices/ui_guidelines/icon_design.html。
我相信最簡單的方法來處理這個問題(而且,據我所知,基礎Android源代碼完成同樣的事情)就是生成一個高清晰度圖像並將其放入HDPI文件夾中,然後讓Android爲您處理縮減採樣。當下採樣圖像沒有足夠的對比度時,您只需要提供較低分辨率的圖像,或者只是看起來不對。我可能是錯的,但我還沒有找到一個看起來不正確的屏幕組合,至少在圖像方面是明智的。佈局,好吧,那是別的。
我的CLIQ是3.2「320x480屏幕,Nexus One是3.7」480x320屏幕。我有適合MDPI文件夾中我的CLIQ的圖像,以及適合Nexus One在HDPI文件夾中的圖像。圖像在我的CLIQ上顯示得很好,但在我的薑餅模擬器中,我認爲它是從mdpi文件夾中提取的,因此圖像被拉伸和模糊。 – Adnan 2011-06-15 22:18:15
聯繫人不是480x320。 nexus一個是800x480和240密度。我有一個。而關於你的模擬器,它取決於你正在運行的API版本。 – 2011-06-15 23:24:08