2011-11-17 66 views
33

我讀過10篇文章,但仍然無法找到ldpi,mdpi,hdpi和實際像素尺寸之間的任何關係!?請問任何人(如果有的話)給出一個簡單的答案(如果有的話)像素爲ldpi,mdpi,hpdi的Android屏幕尺寸?

我基本上試圖把需要在多個設備上工作但不拉伸的初始屏幕 - 但我努力,因爲我嘗試的一切都是壓扁或拉長!?

乾杯 保羅

+1

我有同樣的疑問。我很掙扎,搜索很多次,很多網站仍然沒有任何想法。請在這裏張貼任何一個直接的答案。謝謝@Dancer – Sakthi

回答

0

這些參考畫面像素密度,不屏幕尺寸。如果您確實需要根據屏幕大小(以像素爲單位)更改行爲,則需要查看屏幕大小說明符,例如小型,中型,大型和xlarge。

The Android docs解釋了什麼密度和大小匹配這些標識符。

0

Android設備可以有不同的寬高比,而您的圖片有固定的比例。如果您不希望圖像拉伸,則必須填充上下和左右空白處。

6

的定義是:

  • XLARGE屏幕至少960dp X 720dp。大屏幕在 至少640dp x 480dp。正常屏幕至少爲470dp x 320dp。 小屏幕至少爲426dp x 320dp。 (安卓確實比這個更小的不是當前 支持屏幕。)

此外,檢查出從戴安娜Hackborne我這篇文章: http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html

也許最簡單的就是使用的形象圖,並設置scaletype到CENTER_CROP。 (均勻縮放圖像(保持圖像的高寬比),使圖像的兩個尺寸(寬度和高度)等於或大於視圖的相應尺寸)。

確保您使用src標記而不是設置背景。

<ImageView 
    android:id="@+id/home_video_layout" 
    android:src="@drawable/splash_image" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:scaleType="centerCrop" 
    /> 

更新時間:

理解屏幕密度和「DP」

分辨率在顯示可用像素的實際數量,密度是多少像素的單位區域內的顯示器和尺寸是可用於顯示界面的物理空間量。這些是相互關聯的:一起增加分辨率和密度,並且尺寸保持大致相同。這就是爲什麼Droid上的G1和480x800屏幕上的320x480屏幕都具有相同的屏幕尺寸:480x800屏幕具有更多的像素,但密度也更高。

要從圖片中去除大小/密度計算,Android框架可以根據「dp」單位進行工作,這些單位已針對密度進行了更正。在與原始Android手機相對應的中等密度(「mdpi」)屏幕中,物理像素與dp相同;這些設備的尺寸均爲320x480。更新的手機可能具有480x800的物理像素尺寸,但是可以是高密度設備。在這種情況下,從hdpi到mdpi的轉換因子是1。5,所以出於開發者的目的,該設備的dp是320x533。

+1

歡呼你的幫助 - 但我仍然感到困惑!我仍然不明白實際的尺寸大小(以像素爲單位,因爲我不能在Photoshop中使用DP?)我會在Photoshop中製作圖像,以便它可以在每個分辨率中顯示中心屏幕?乾杯保羅 – Dancer

+0

你讀過我鏈接過的博文嗎?剛剛更新了我的答案,從那篇文章的片段 – Damian

+0

鏈接到一篇好文章,謝謝 – Mixaz

73

ldpi,mdpi和hdpi指的是屏幕密度,,這意味着多少像素可以適合一英寸。

在它們之間的像素的比率:

  • LDPI = 1:0.75
  • MDPI = 1:1
  • HDPI = 1:1.5
  • xhdpi = 1:2
  • xxhdpi = 1:3
  • xxxhdpi = 1:4

所以讓我們的圖像有關的100X100大小:

  • 適用於mdpi它應該是100X100
  • 爲LDPI它應該是75X75
  • 爲華電國際應該是150X150
  • 爲xhdpi它應該是200X200
  • 爲xxhdpi它應該是300X300
  • 爲xxxhdpi它應該是400X400

這樣,對於尺寸相同但DPI不同的屏幕,所有圖像在屏幕上看起來都是相同的大小。

此外,您還有多種屏幕尺寸類型:小尺寸,普通尺寸,大尺寸,x大尺寸,每個尺寸可以是ldpi,mdpi,hdpi,xhdpi,xxhdpi(Nexus 10)或xxxhdpi。

你可以嘗試創建一個適合每種屏幕類型的啓動屏幕圖像 它給你4 * 5 = 20個不同的圖像(這對我來說似乎很多)。

現在只有Nexus 10處於xxhdpi類別。

+0

Nexus 10具有〜299 ppi像素密度的屏幕,它將落在xhpi設備上。要成爲xxhpi設備,它將需要〜480ppi。但它需要一個xxhpi圖標啓動器。所以,實際上,Nexus 10是一個xhdpi設備,帶有一個xxhdpi啓動器圖標。 – Alesqui

24

Install ImageMagick和使用this shell腳本生成的色斑和圖標文件爲多個設備 - 的iOS,安卓,巴達和Windows Phone。您可以用cygwin/gitbash如果你是在Windows

我只是做了,我很喜歡它:-)

的屏幕尺寸爲腳本中和是 -

480x800 - screen-hdpi-portrait.png 
320x200 - screen-ldpi-landscape.png 
720x1280 - screen-xhdpi-portrait.png 
320x480 - screen-mdpi-portrait.png 
480x320 - screen-mdpi-landscape.png 
200x320 - screen-ldpi-portrait.png 
800x480 - screen-hdpi-landscape.png