对于 Android 文件夹,有drawable-ldpi
等drawable-hdpi
。
在黑莓文件夹中,我不知道处理不同屏幕分辨率的文件夹命名约定。Screen sizes can be placed into two categories, high resolution and low resolution
对于 Android 文件夹,有drawable-ldpi
等drawable-hdpi
。
在黑莓文件夹中,我不知道处理不同屏幕分辨率的文件夹命名约定。Screen sizes can be placed into two categories, high resolution and low resolution
不,BlackBerry 中没有这种机制(我说的是 Java API,不知道在 WebWorks 或 BB10 上会如何)。
但是您绝对应该创建自己的机制。您几乎必须在每个项目中管理不同的屏幕尺寸,因此值得编写代码。我目前正在几个项目中这样做。这个想法是在 res/img 包中创建子包(例如,用于 320 像素的屏幕宽度的 res/img/320)。然后将正确的图像粘贴到每个子包中,就像在 Android 中一样。最后,编写一个ImageManager
类,其主要目的是为应用程序中所有其他类的所有图像请求提供服务:
Display.getWidth();
当请求图像时,ImageManager
在 res/img 中搜索具有正确名称的文件夹:
Inputstream is = ImageManager.class.getResourceAsStream("/img/<current resolution>/someimage.png");
如果存在这样的目录,则获取图像:
byte[] rawFileData = IOUtilities.streamToBytes(is);
EncodedImage encodedImage = EncodedImage.createEncodedImage(rawFileData, 0, rawFileData.length);
如果您没有当前屏幕分辨率的目录,您可以:
Bitmap
可以通过不同的缩放选项和良好的性能立即完成此操作。最后,一个专业提示:您可以使用更短的类和方法名称来编写外观ImageManager
,并使其成为单例。这样,您可以键入:
R.drawable("someimage.png");
这与 Android 语法非常相似。
在黑莓中,我们没有像 android 那样单独保留低分辨率和高分辨率图像的选项。取而代之的是,我们必须在资源文件夹下创建自定义文件夹,然后根据您的需要将图像保存在单个或多个文件夹中。