2013-02-20 29 views
8

Android'de 2 öğe arasındaki mesafeyi ayarlamaya çalışıyorum. Ayarladığım marj 1dp ve mesafenin istediğimden daha fazla olduğunu düşünüyordum. 0.5dp'nin iyi olacağını düşündüm. Marjı çalıştığım gibi ondalıklarda ayarlamak mümkün mü? Eğer öyleyse, desteklenen minimum dp nedir?Android'de ondalık olarak dp ayarlama

+0

Eğer (1 mdpi ekran için mantıksal yoğunluğudur) mizanpaj mizanpajı değerlerinin türüne bir göz atın, bunların hepsi int, özellikle kenar boşluklarıdır. – Triode

+0

dp, yoğunluk bağımsız piksel anlamına gelir ve piksel, bir ekranın kullanabileceği en küçük boyuttur, daha küçük boyutlu olabileceğini nasıl düşünürsünüz? Verebildiğiniz en küçük değer 1px'tir ve daha küçük boyutları ele alabildiği için bazı cihazlarda marjı azaltacaktır, ancak en az ppi cihazında –

cevap

9

Evet, 0.5dp veya istediğiniz ondalık sayıyı kullanabilirsiniz, ancak dikkatli olun. Dp'niz piksellere dönüştürüldüğünde, ekran mantığı yoğunluğuyla çarpılır ve yuvarlanır.

Eğer dp = 0.1'iniz hdpi ekran içinse, (int) (0.1 * 1.5 + 0.5) = 1px.

(1.5 hdpi ekran için mantıksal yoğunluğudur) Eğer dp = 0.5 mdpi ekran için elde ettiğinizdir (int) (0.5 * 1 + 0,5) = 1px

+5

err ile aynı büyüklüğü yansıtacaktır. Bence matematiğiniz kapalıdır. (int) (0.1 x 1.5 + 0.5) = (int) (0.15 + 0.5) = (int) (0.65) = 0px. –

+0

@StevenByle senin matematik de kapalıdır. 0,75 değil 0,65;) –

+4

@AndroidKiller İlk yorumunuzda 0.75 olduğunu söylediniz ve şimdi 0,075 olması gerektiğini söylüyorsunuz? Lütfen Google "0,1 * 1,5 + 0,5" veya bir hesap makinesine koyun ve göreceksiniz ki 0.65 ... –

İlgili konular