2012-05-08 115 views
0

我開發了我的BlackBerry應用程序,屏幕分辨率爲320x240。現在我需要它來支持多種分辨率的屏幕。 我在哪裏可以存儲不同分辨率的圖像,並通過代碼相應地訪問它們,而無需爲每個屏幕分辨率單獨構建?支持多屏幕的黑莓

如果可能,請爲我提供可用於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..... 

存放在單獨的文件夾不同的圖像在項目的res文件夾。

+0

640×480 - 粗體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(); 

這似乎好工作太:)