1

私は、Androidがその場所(-ldpi、-mdpiなど)に基づいてドローアブルを選択することを理解しています。mdpiとldpi用とhdpiとxhdpi用の2セットのドローアブルがある場合、画像をどのように整理する必要がありますか?

4

1 に答える 1

0

今のところ、 dpiフォルダをグループ化する可能性はありませんでした。しかし、まだ選択肢があります。

ダミードローアブル:

画像を通常の/drawableフォルダに入れ、とのように名前を付けimage1_low.pngますimage1_high.png。次に、次のようなファイルを含む「ダミーのドローアブル」ファイルをフォルダに配置image1_dummy.xmlます。/drawable-ldpi /drawable-mdpi

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/image1_low" />

同じことがフォルダ/drawable-hdpi /drawable-xhdpiフォルダにも当てはまりますが、現在は。@drawable/image1_highの代わりに使用してい@drawable/image1_lowます。

これで、ダミーの名前を参照できます。

getResources().getDrawable(R.drawable.image1_dummy);

コードで目的のドローアブルを取得します。

プログラム:

フォルダの使用に制限されているわけではなく、プログラムによるアプローチもあります( https://stackoverflow.com/a/5323437/1140682へのクレジット):

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
   case DisplayMetrics.DENSITY_XHIGH:
         // assign your high-res version
         break;
   case DisplayMetrics.DENSITY_HIGH:
         // assign your high-res version
         break;
   default:
         // assign your low-res version
         break;
}
于 2013-01-12T20:41:36.030 に答える