我为屏幕分辨率 320x240 开发了我的 BlackBerry 应用程序。现在我需要它来支持多种分辨率的屏幕。我在哪里存储不同分辨率的图像并通过代码相应地访问它们,而无需为每个屏幕分辨率单独构建?
如果可能,请向我提供需要移植的 BlackBerry 可用的各种屏幕尺寸。
我为屏幕分辨率 320x240 开发了我的 BlackBerry 应用程序。现在我需要它来支持多种分辨率的屏幕。我在哪里存储不同分辨率的图像并通过代码相应地访问它们,而无需为每个屏幕分辨率单独构建?
如果可能,请向我提供需要移植的 BlackBerry 可用的各种屏幕尺寸。
不同的屏幕分辨率是 -
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 文件夹中的单独文件夹中。
是的,这不会增加项目的规模吗?我发现你可以使用以下代码存储分辨率良好的图像并根据设备尺寸缩放它们
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();
这似乎也可以正常工作:)