2016-06-08 1 views
1

Selon la peau, je l'utilise dans le simulateur, le résultat de la méthode suivante diffère:Comment utiliser le résultat de la méthode getDeviceDensity() de Codename One?

Display.getInstance().getDeviceDensity(); 

Les résultats ont rien à voir avec la densité réelle de l'appareil car, pour une peau Xoom il émet 30 (149 ppi en réalité), pour un Iphone 6 il sort 50 (329 en réalité).

J'ai remarqué que parce que j'ai besoin de traduire la hauteur de char mesurée dans Gimp (72 dpi) dans le monde de l'appareil afin qu'il se ressemble sur une image.

Toute aide sur ce sujet serait appréciée!

Vive

Répondre

1

Les Javadocs pour getDeviceDensity état:

Renvoie l'une des variables de densité appropriée pour cet appareil, avis que la densité ne correspond pas toujours à la résolution et une mise en œuvre pourraient décider de changez la densité en fonction des contraintes DPI .

Renvoie: l'une des constantes de densité d'affichage

Les constantes de DENSITÉ se réfère à one of these.

Notez que vous pouvez également utiliser convertToPixels qui est probablement une API bien meilleure à utiliser. L'API de densité est principalement utilisée pour choisir la bonne image multi et devrait rarement être utilisée dans le code utilisateur.

+0

Réponse parfaite, merci @Shai! Je vais essayer la méthode convertToPixels! – HelloWorld