web-dev-qa-db-ja.com

resフォルダ内の描画可能なフォルダ?

プロジェクト階層のresフォルダーにある3つのドローアブルフォルダーの違いは何ですか?フォルダーに入れる画像がある場合、どのフォルダーに入れますか?

47
Mohit Deshpande

「3つのドローアブルフォルダー」はdrawable-ldpidrawable-mdpi、およびdrawable-hdpi。その場合、これらすべてのフォルダーを使用する場合は、指定された画面密度に一致するサイズの画像をそれぞれに配置する必要があります。これは オンラインドキュメント およびこの ブログ投稿 で説明されています。画面密度 here に基づいて、さまざまな描画可能リソースの使用を示すサンプルプロジェクトのセットを見つけることができます。

Android開発で始めたばかりの場合、これらの3つのディレクトリをすべて削除して、単一のdrawableディレクトリを作成し、そこにイメージを配置できます。 、品質の高いアプリケーションの場合は、画面の密度が異なるさまざまなデバイス/エミュレータで画像をテストし、場合によっては密度ごとに異なる画像を用意して、アプリの外観を改善します。

75
CommonsWare

マルチデバイスオプション への参照です。

@CommonsWareが言ったように、res/layout /またはdrawable /以外にリソースを置く必要はありませんneedさまざまな画面/密度/言語を備えた複数のデバイスでより良いエクスペリエンスを実現するには、そのオプションがあると考えてください。

5
Graeme

また、画像に固有ではありませんが、興味深いのは、Androidがリソースを処理する方法です。これにより、読み込み順序が与えられます。

たとえば、valuesフォルダーのstrings.xmlに3つのストリング値があります。また、values-enというフォルダーに特定の文字列が1つあります。 Androidがアプリを開き、ロケールがenと一致する場合、valuesフォルダーから2つのデフォルトをロードし、values-enから3番目のより具体的な文字列をロードします。ロケールがruの場合、 values-ruフォルダがないため、代わりにデフォルトを使用してください。

画像についても同じことが言えます。 Androidが特定のスクリーンバリアントの画像を見つけられない場合、描画可能フォルダのデフォルトを使用します。

私の意見では、値/描画可能および特定のフォルダ内の特定の値/画像のように、一般的なフォルダ内にデフォルト値/画像を持つことをお勧めします。この方法では、現在のデバイスと将来のデバイスの両方に、少なくとも特定のバージョンを提供できるまでコンテンツを表示する方法があります。

1
G_V