2012-05-08 3 views
0

J'ai développé mon application BlackBerry pour la résolution d'écran 320x240. Maintenant j'en ai besoin pour supporter des écrans de résolutions multiples. Où puis-je stocker des images pour différentes résolutions et y accéder par le biais du code, sans faire de construction séparée pour chaque résolution d'écran?Blackberry prenant en charge plusieurs écrans

Si possible s'il vous plaît me fournir les différentes tailles d'écran disponibles pour BlackBerry, qui doivent être portés.

Répondre

1

différentes résolutions d'écran sont -

240 x 240 7730 
240 x 320 8220 8230 
320 x 240 8520 9300 9330 8310 8530 8830 8320 8330 8700c 8820 8800 8300 8707v 8330 8500 
curve3G 9220 
360 x 400 9670 9105 9100 pearl3G 
360 x 480 9800 9500 9370 9350 9780 9520 9550 9530 9670 
480 x 320 9000 
480 x 360 9650 9700 9630 8900 9360 
480 x 800 9860 9850 storm3 volt 
640 x 480 Bold 9900 

int device_h = Display.getHeight(); 
int device_w = Display.getWidth(); 


if(device_h==240 && device_w== 320){ 
//select image of that size 
    } 
else if(device_h==480 && device_w== 360){ 
//select image of that size 
} and so on..... 

Conserver les différentes images dans le dossier séparé dans le dossier res de votre projet.

+0

640x480 - Bold 9900 –

+0

réponse de Nice donné par @Signare. Encore une chose que j'aime te suggérer. Utilisez une variable statique avec le nom "folderName" et obtenez le nom du dossier en fonction de la résolution de l'écran comme indiqué dans la réponse. Maintenant, vous pouvez utiliser le chemin de l'image comme "res /" + folderName + "/ xyz.png" –

+0

la clarté de l'image aura disparu (parfois). ou il ressemble à stretched.if s'il y a du texte écrit sur votre image, alors il sera étiré ou incliné. – Signare

0

Oui ne va pas augmenter la taille du projet? wat J'ai trouvé est que vous pouvez stocker des images de bonne résolution et l'échelle les en fonction des tailles de l'appareil en utilisant le code suivant

int barW = Fixed32.div(Fixed32.toFP(bitmap.getWidth()), Fixed32.toFP(scaleW)); 
int barH = Fixed32.div(Fixed32.toFP(bitmap.getHeight()), Fixed32.toFP(scaleH)); 
Bitmap scaledBitmap = 
    EncodedImage.getEncodedImageResource(img).scaleImage32(barW, barH).getBitmap(); 

Cela semble fonctionner très bien aussi :)

Questions connexes