0

私のAndroidアプリケーションでは、drawableフォルダーとdrawable-hdpi異なる名前(svs.jpgとsvs1.jpg)の両方に同じ画像があります

まず、svs.jpg (描画可能なフォルダー) を使用しました

<ImageView 
    android:id="@+id/image1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/svs"
 />

あるシステムでは問題なく実行されますが、別のシステム (Inflate exception errorバイナリ xml ファイル) ではエラーが表示されます。そこで、画像 svs1.jpg を として使用しましたandroid:background="@drawable/svs1"。今、それは働いています..

最初のシステムで svs1.jpg を使用すると、エラーが表示されます。この問題がわかりません。誰かがなぜこれが起こっているのか言うことができますか?

4

2 に答える 2

1

これらのフォルダの機能を本当に誤解しているようです。あなたのアンドロイドは、それを実行するデバイスの画面サイズまたはピクセル密度に基づいてフォルダーを選択します

デバイスのピクセル密度が中程度で、画面が大きい場合。したがって、指定された修飾子を持つ res フォルダーからリソースを選択します。

res/layout-large/my_layout.xml

からの画像

res/drawable-mdpi/my_icon.png

ピクセル密度が高くないため、デバイスに hdpi フォルダーから画像を取得するように指示することはできません。

したがって、すべての描画可能なフォルダーで同じ画像の名前を付けます..デフォルトでは、デバイスはどのフォルダーから画像を取得するかを決定します。tatについて心配する必要はありません。

適切な画像が適切なフォルダにあることを確認してください。

于 2013-04-23T07:01:57.500 に答える