mmr.setDataSource(files[i].getPath());
rawArt = mmr.getEmbeddedPicture();//rawart is of type byte
if ( rawArt != null)
{
bitmap2=BitmapFactory.decodeByteArray(rawArt, 0, rawArt.length, bfo);
bitmap2 = Bitmap.createScaledBitmap(bitmap2, 150, 150, true);
detail.setIcon(bitmap2);//seticon here is of bitmap type
}
else {
detail.setIcon(R.drawable.ab);//seticon here is of bitmap type
}
Detail は songdetails のオブジェクトです。songdetails には、2 つの関数 "setIcon" があり、1 つは int で、もう 1 つはビットマップです。
私がやっていることは、曲にアルバムアートが添付されている場合、それを表示しています.(150X150にスケーリングした後)
そうでない場合、int型のデフォルト画像を表示しています(drawable-xxhdpiの寸法270X270に保存されています)
私はhtcの電話と薄暗い画像でそれを使用しました。150X150 は dimns よりも大きいです。270X270(おそらく、この画像は画面サイズなどに応じて再スケーリングおよび調整されているため).しかし、これは望ましくありません.....同じサイズ(150x150)にしたいです。
私が考えたのは、この画像(R.drawable.ab type int)をビットマップに変換してから、この関数を使用して再スケーリングできるということです
bitmap2 = Bitmap.createScaledBitmap(bitmap2, 150, 150, true);
しかし、私はそれを行う方法がわかりません.....前もって感謝します..他の解決策も高く評価されます。