2012-05-08 2 views
0

Я разработал приложение BlackBerry для разрешения экрана 320x240. Теперь мне нужно его для поддержки экранов с несколькими разрешениями. Где я могу хранить изображения для разных разрешений и получать их соответственно через код, не делая отдельной сборки для каждого разрешения экрана?Blackberry поддерживает несколько экранов

Если возможно, предоставьте мне различные размеры экрана, доступные для BlackBerry, которые необходимо портировать.

ответ

1

Различные разрешения экрана -

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..... 

Храните различные изображения в отдельной папке в Рез папке вашего проекта.

+0

640х480 - Bold 9900 –

+0

Хорошего ответа данный @Signare. Еще одна вещь, которую я хотел бы предложить вам. Используйте статическую переменную с именем «folderName» и получите имя папки в соответствии с разрешением экрана, как указано в ответе. Теперь вы можете использовать путь изображения, например, «res /» + folderName + «/ xyz.png» –

+0

Ясность изображения будет (иногда). или его внешний вид выглядит растянутым. Если на вашем изображении есть текст, он будет растянут или перекошен. – Signare

0

да, что увеличить размер проекта? ват я обнаружил, что вы можете хранить изображения хорошего разрешения и масштабировать их в соответствии с размерами устройства, используя следующий код

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(); 

Это, кажется, работает тоже хорошо :)

Смежные вопросы