実行時に drawable-* フォルダーに画像を追加するにはどうすればよいですか?
ありがとう!
それはいけません。コンパイルで R.java ファイルを生成するには、コンパイル時に res フォルダーを埋める必要があります。
@blackbeltが言ったようにできません。ただし、実行時に生成することもできます:
のような接尾辞で示されるように、解像度が異なるいくつかの画像がある場合:
次のようなことができます
DisplayMetrics metrics = new DisplayMetrics();
this.activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
String fileName = "close";
String fileSuffix = "";
String fileExtension = ".png";
int dpi = Math.round( metrics.density * 160 );
if ( dpi<= 120/*DisplayMetrics.DENSITY_LOW*/) {
fileSuffix = "-ldpi";
} else if ( dpi<= 160/*DisplayMetrics.DENSITY_MEDIUM*/) {
fileSuffix = "-mdpi";
} else if ( dpi<= 240/*DisplayMetrics.DENSITY_HIGH*/) {
fileSuffix = "-hdpi";
} else if ( dpi<= 320/*DisplayMetrics.DENSITY_XHIGH*/) {
fileSuffix = "-hdpi";
}//else
Drawable crossDrawable = new BitmapDrawable( getClass().getResourceAsStream( fileName + fileSuffix + fileExtension ) );
//getContext().getResources().getDrawable( android.R.drawable.btn_dialog );
crossImage.setImageDrawable(crossDrawable);