Androidフォルダにはdrawable-ldpi
、drawable-hdpi
などがありました。
Blackberryフォルダーでは、画面の解像度の違いを処理するためのフォルダーの命名規則がわかりません。Screen sizes can be placed into two categories, high resolution and low resolution
Androidフォルダにはdrawable-ldpi
、drawable-hdpi
などがありました。
Blackberryフォルダーでは、画面の解像度の違いを処理するためのフォルダーの命名規則がわかりません。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 の構文によく似ています。
blackberry では、Android のように低解像度画像と高解像度画像を分けて保存するオプションがありません。その代わりに、リソース フォルダーの下にカスタム フォルダーを作成し、必要に応じて画像を単一または複数のフォルダーに保持する必要があります。