2016-01-23 84 views
0

我在閱讀後添加圖像的documentation如何添加圖像?

這意味着,如果你生成xhdpi設備一個200x200的圖像,你 應該產生同樣的資源在150×150的華電國際,100×100的 MDPI和最後一個ldpi設備的75x75圖像。

於是我在XHDPI圖像是200x200像素,我在華電國際的圖像是150x150像素,我在MDPI圖像是100x100,我在LDPI圖像是75x75?閱讀文檔後,我是這樣想,但是當我遇到了這個頁面:

Android background image size in pixel

的答案狀態下使用不同pixeol金額爲不同的目錄。現在我很困惑該怎麼做。以下是我現在在這裏,請告訴我,如果我這樣做正確的:

enter image description here

所以基本上,我花了在過去的4-5個小時重新漿紗很多我的圖片中的大小這些文件夾。現在我在想......我是否正確地調整了它們的大小?它應該是100x100的mdpi?

基本上,我只是想知道目錄是否應該有每個像素。因爲我聯繫的問題說不是。

非常感謝,

Ruchir

+0

基本上,我只是想知道目錄是否應該有每個像素。因爲我聯繫的問題說不是。 –

回答

2

你做的很好,做你做了什麼,如果你真正想要的圖像是你縮放它們的大小。

讓我們回顧一下:

mdpi是基準密度160dpi。這意味着mdpi中的160x160像素的圖像將爲一平方英寸。

hdpi代表240dpi。相同的一英寸平方將需要240x240像素,或者比mdpi資產大1.5倍。

xhdpi解析爲320dpi,所以正方形需要爲320x320像素。

xxhdpi,在480dpi將資產帶到480x480像素。

xxxhdpi僅用於啓動圖像,所以不用擔心 - 它是640dpi。

我們一般設計在載體中,然後擴展到hdpixhdpixxhdpi'; MDPI is still relevant for some phone apps, but for tablets, it's virtually gone. LDPI is obsolete, with less than 3% of phones using it. Android will interpolate the closest image for the screen density, if an exact match is not available. For quick results,華電國際and xxhdpi`就足夠了。

現在請注意,xhdpi的200x200是示例。根據您想要的圖片大小,您的像素大小會有所不同。以mdpi爲參考 - 40dp爲1/4英寸,80dp爲1/2英寸,依此類推。 40dp是最小的體面命中目標,所以我不會讓按鈕變小。一旦確定了資產規模後,您就可以將其擴展 - 對於hdpi爲1.5倍,對於xhdpi爲2倍,對於xxhdpi爲3倍,並以這種方式呈現您的資產。

Size Inches mdpi hdpi xhdpi xxhdpi 
     0.10  16  24  32  48 
     0.25  40  60  80  120 
     0.50  80 120  160  240 
     1.00  160 240  320  480 
     2.00  320 480  640  960 

..和等

+0

首先,我想感謝您的詳細解答。儘管如此,我仍然很困惑。你是說只要你有比例,你的基線是什麼並不重要?這些比例是什麼?另外,首先我並不真正瞭解所有這一切。爲什麼我不能爲我的圖像按鈕使用'background'屬性而不是'src'屬性,以便它始終保持正確的大小?否則它會被拉伸?另外,爲了擴展它,我將如何找出正確的基線?非常感謝! –

+0

屏幕具有不同的密度。即一個7英寸的平板電腦可能有一個1024x600的屏幕,或者1280x720或2048x1200等。如果您的圖標像素大小相同,那麼它們在高分辨率顯示屏上會顯得更小,Android會通過縮放資源來彌補這一點。爲了使它們看起來儘可能好,並提高性能,你可以包含不同屏幕密度的預縮放版本* src與背景無關大小 – 323go

0

的XHDPI,HDPI,MDPI和LDPI目錄是不同的設備的屏幕密度,不不同的物理尺寸的影像。 1'密度獨立像素'被定義爲MDPI(每英寸160個像素)設備上1個像素的物理尺寸。例如,如果您想要一個按鈕出現2英寸寬,則ImageButton layout_width屬性應設置爲2 * 160 = 320dp(與設備無關的像素),並且MDPI目錄中的圖像應爲320像素。

<ImageButton 
    android:src="@drawable/my_button" 
    android:layout_width="320dp" 
    android:layout_height="160dp"/> 

enter image description here

與不同屏幕密度的設備將自動查找在XHDPI,HDPI或LDPI目錄中,該裝置的屏幕相匹配的密度的圖像。例如,XHDPI手機的每英寸像素數是MDPI手機的兩倍,因此layout_width應該仍然設置爲320dp(假設您希望它對所有設備顯示爲2英寸),但XHDPI目錄中的圖像應該是2 * 320 = 640px,以匹配設備的密度(否則圖像會顯得模糊)。

enter image description here

如果不提供設備的密度的圖像,那麼Android將回退使用的圖像爲其他密度之一。例如,這裏是當XHDPI設備回退到一個LDPI圖像上會發生什麼(仍然有效,但用於按鈕的圖像是模糊的相比有什麼設備能):

enter image description here

+0

等等...所以我不需要改變我的圖像的大小?我現在很困惑...有什麼區別?非常感謝! –

+0

如果你希望它在各種不同的設備上看起來很完美(沒有模糊)那麼確實需要將不同的圖像分辨率導出到每個目錄(如你所做的那樣),如果沒有精確的術語來說明我們是在談論物理尺寸,圖像分辨率還是密度,這很難解釋。一些含糊之處: http://developer.android.com/guide/practices/screens_support。html – anjsimmo

+0

好的,我對密度和物理尺寸有點困惑 –