プロジェクト階層の res フォルダーにある 3 つの drawable フォルダーの違いは何ですか? 画像をフォルダに入れる場合、どのフォルダに入れますか?
3 に答える
「3つの描画可能なフォルダー」は、、、、であると推測drawable-ldpi
しdrawable-mdpi
ますdrawable-hdpi
。その場合、これらのフォルダすべてを使い続ける場合は、指定された画面密度に一致するサイズの画像をそれぞれに 1 つずつ配置する必要があります。これについては、オンライン ドキュメントとこのブログ投稿で説明されています。画面密度に基づいたさまざまなドローアブル リソースの使用を示すサンプル プロジェクトのセットは、こちらにあります。
Android 開発を始めたばかりの場合は、これら 3 つのディレクトリをすべて削除して、1 つのディレクトリを作成しdrawable
、そこにイメージを配置できます。ただし、最終的には、高品質のアプリケーションの場合、さまざまな画面密度のさまざまなデバイス/エミュレーターで画像をテストし、アプリの外観を改善するために密度ごとに異なる画像を使用することをお勧めします。
これは、マルチ デバイス オプションへの参照です。
@CommonsWare が言ったように、 res/layout/ または drawable/ 以外にリソースを配置する必要はありませんが、異なる画面/密度/言語を備えた複数のデバイスでプログラムのエクスペリエンスを向上させたい場合は、検討することをお勧めしますその選択肢があること。
また、画像に限ったことではありませんが、興味深いのは、Android がリソースを処理する方法です。それはそれらに読み込み順序を与えます。より具体的なものは、より具体的でないものよりも優先されることを意味します。
たとえば、values フォルダーの strings.xml に 3 つの String 値があるとします。また、values-en というフォルダーに特定の文字列が 1 つあります。Android がアプリを開き、ロケールが en に一致すると、values フォルダーから 2 つのデフォルトが読み込まれ、values-en から 3 つ目のより具体的な文字列が読み込まれます。ロケールが ru の場合、values-ru フォルダーがないため、代わりにデフォルトが使用されます。
画像についても同様です。Android が特定の画面バリアントの画像を見つけられない場合、drawable フォルダーのデフォルトを使用します。
私の意見では、値/ドローアブルなどの一般的なフォルダーにデフォルト値/画像を配置し、特定のフォルダーに特定の値/画像を配置することをお勧めします。このようにして、特定のバージョンを提供できるようになるまで、現在および将来のデバイスの両方で、少なくともコンテンツを表示する方法が確保されます。