2010-08-10 6 views
4

Android et iOS ont un concept de «pixel indépendant de la densité», de sorte que vos mises en page se ressemblent sur les appareils ayant des densités et des tailles d'écran différentes. Jusqu'à présent, j'ai écrit du code pour espacer manuellement des éléments en utilisant des pixels (c'est-à-dire que je veux que ce bouton soit à 10 pixels du côté gauche de l'écran). C'est très bien sur une courbe, mais quand je le charge sur un gras la résolution est beaucoup plus élevée, donc 10 pixels est un espace physique beaucoup plus petit. Quelles sont les meilleures pratiques pour les tailles d'écran multiples sur BlackBerry?Développement pour plusieurs tailles d'écran sur BlackBerry

Existe-t-il un moyen simple de définir un pixel indépendant de la densité? RIM ne semble pas offrir beaucoup en termes de documentation ou d'API pour rendre cela facile.

Répondre

6

Les points sont des pixels indépendants de la densité (avec un bon degré de précision).

pour Blackberry, la classe la plus pertinente est net.rim.device.api.ui.Ui qui définit une constante UNITS_pt (et une constante UNITS_px), un procédé convertSize pour convertir entre des points et des pixels (puisque les opérations sur Graphics pixels au lieu de prendre des points). Une méthode utile pour les applications BlackBerry consiste à prendre tout en fonction de vos tailles de police, que vous définissez en points - il existe une version de net.rim.device.api.ui.Font.derive qui prend un paramètre unités et facilite l'obtention de polices avec une taille de point particulière. Bien sûr, vous ne pouvez rien prendre pour acquis - définir des choses en points facilitera les choses, mais avec BlackBerry, vous avez beaucoup de différentes densités de pixels et ratios d'aspect, alors testez bien, au moins sur les simulateurs.

+0

Bonne réponse, merci. –

+0

Pour info, dans BB10, ce sera beaucoup plus facile à traiter car il n'y aura que [deux résolutions d'écran normalisées] (http://crackberry.com/rim-standardizing-screen-resolutions-blackberry-10) utilisées dans tous BB10 appareils. –

Questions connexes