2012-02-09 3 views
0

J'ai donc besoin d'un conseil. J'ai un petit jeu qui est chronométré et pour les 5 dernières secondes je veux qu'il affiche le temps restant en arrière-plan (alias compte à rebours: 5 4 3 2 1). Auparavant, je faisais juste de grandes images des nombres de sorte qu'il était facile de mettre à l'échelle toutes les images à différentes tailles d'écran. Maintenant je manque de place dans la mémoire tampon (java.lang.OutOfMemoryError: la taille de l'image dépasse le budget de la VM) Donc je veux utiliser drawText pour mettre les nombres en arrière-plan, mais j'en ai besoin pour passer à l'écran entier pour chaque périphérique . Des suggestions sur la façon de faire cela?Essayer de conserver TextSize similaire pour toutes les tailles d'écran

Merci -Derek

Répondre

1

Une solution serait d'utiliser "sp" ou pixels à l'échelle indépendante. Voir plus d'informations sur ce qu'ils sont et comment les utiliser ici: http://developer.android.com/guide/practices/screens_support.html

+0

Je ne pense pas que je comprends. J'ai essayé de le faire comme ceci: flotteur statique privé privé GESTURE_THRESHOLD_SP = 500.0f; échelle finale float = getContext(). GetResources(). GetDisplayMetrics(). Density; scalenumber = (int) (GESTURE_THRESHOLD_SP * échelle + 0.5f); p.setTextSize (scalenumber); \t p.setColor (Color.RED); \t canvas.drawText ("5", largeur/9, hauteur * 9/10, p); Cela n'a pas fonctionné, je l'ai essayé sur mon appareil et un émulateur et ils sont apparus dans différents endroits. De l'aide? Aussi, comment puis-je garder le positionnement similaire pour les deux? Merci – Derek

Questions connexes