2010-08-20 17 views
15

Şu anda Galaxy S tabanlı bir uygulama üzerinde çalışıyorum. Galaxy S'nin 480 piksel genişliğinde ve 800 piksel boyunda olduğunu biliyorum, ancak DP'de ne kadar var?"DP" de ekran çözünürlüğü nasıl söylenir?

İki Layout yan yana sahip olmak isteyip istemediğimi söyleyelim, onları 240 piksele ayarlayacağım. Ama DP biriminde hangi değeri kullanmam gerektiğini nasıl bilebilirim?

cevap

14
Dip birimlerin ekran piksellerine dönüşümü basittir: piksel = dips * (yoğunluk/160). Örneğin 240 dpi ekranda 1 dip, 1,5 fiziksel piksele eşittir. Kullanıcı arayüzünüzü farklı ekranlarda düzgün görüntülemenin bir yolu olarak, uygulamanızın UI'sini tanımlamak için dip birimleri kullanmak şiddetle tavsiye edilir.

Bulunan: http://developer.android.com/guide/practices/screens_support.html

[değiştir] Sadece bu kullanılan gerekiyordu. DisplayMetrics.density'u kullanarak yalnızca 0,75, 1 ve 1,5 döndürür. yerine DisplayMetrics.densityDpi kullanın ya da ben öğrendim DP o 160dpi başlangıca temel aldığı için bu ekran boyutu hakkında, hiç çözünürlükte hakkında olmadığıdır Ne pixels = dips * DisplayMetrics.density

+0

Bunu nasıl özledim! Çok teşekkürler :) – RobGThai

0

için matematik değiştirin. hesaplamak için kolay bir yol olacaktır: Senin durumunda ScreenSizeInInches * 160.

: İnç = 480px/(240px/inch) = 2 inches Yükseklik İnç

Genişlik = 800px/(240px/inch) = 10/3 inches

Kontrol: sqrt(sqr(2) + sqr(10/3)) ~ = 4 inches hangi Galaxy S

büyüklüğü Yani dp boyut (2 * 160) x (10/3 * 160) = 320dp x 533.3dp

olduğu 10
İlgili konular