0
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);

しかし、私はそれを行う方法がわかりません.....前もって感謝します..他の解決策も高く評価されます。

4

1 に答える 1