2010-08-10 23 views
0

Je crée un plateau de jeu avec des carrés. La taille de chaque carré (à la fois la hauteur et la largeur) est phone_pixel_width/number_of_squares pour maximiser la taille de chaque carré sur l'écran de jeu en fonction de la résolution (oh et je ne supporte pas les périphériques mdpi, donc il ne devient pas petit).Comment faire pour sélectionner la taille de la police et être compatible avec la future en fonction de la densité de l'écran/taille/taille des images dans Android

Maintenant, mon problème est que j'écris aussi du texte dans ces carrés. Si j'utilise la même taille de police pour les écrans HVGA et pour les écrans WVGA (hdpi-normal), la police devient très grande sur l'écran HVGA (mdpi-normal). Je pensais pouvoir sélectionner la taille de la police en fonction de sa largeur et adapter ainsi la taille de la police à la largeur carrée calculée.

Y a-t-il un moyen simple de le faire (note: j'utilise TextPaint et non TextView) ou dois-je le calculer moi-même, à la volée en créant une sorte de table au démarrage.

Merci :-)

/Henrik

Répondre

2

Lorsque vous travaillez avec des densités multiples, toutes les valeurs de pixels doivent être multipliées par la densité de l'écran.

float fontSize = 13 * context.getResources(). GetDisplayMetrics(). Densité;

la densité est de 1 sur les périphériques mdpi et de 1,5 sur les hdpi en général. ldpi est inférieur.