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