1
フォルダ/ drawableから画像を取得しようとしていますが、api> 19のときにnullが返されます。BitmapFactory.decodeResourceが動作していませんAPI> 19
私が使用するすべての画像はベクトルです。
dog.setImagen(BitmapFactory.decodeResource(getResources(), R.drawable.dog));
事前
フォルダ/ drawableから画像を取得しようとしていますが、api> 19のときにnullが返されます。BitmapFactory.decodeResourceが動作していませんAPI> 19
私が使用するすべての画像はベクトルです。
dog.setImagen(BitmapFactory.decodeResource(getResources(), R.drawable.dog));
事前
で試してみてください。
private Bitmap getBitmap(Drawable vectorDrawable) {
Bitmap bitmap = Bitmap.createBitmap(vectorDrawable.getIntrinsicWidth(),
vectorDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
vectorDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
vectorDrawable.draw(canvas);
return bitmap;
}
ありがとうございました!
のおかげで、私はこのコードで私の問題を解決したこの
Bitmap bm = ((BitmapDrawable) getResources().getDrawable(R.drawable.dog)).getBitmap();
dog.setImagen(bm);
例外がスローされます。android.graphics.drawable.VectorDrawableをandroid.graphics.drawable.BitmapDrawableにキャストできません。 – eligonz
その後、ビットマップ描画可能にキャストしないでください。しかし、キャンバス上に描画可能なものを描画することができます(あなたの場合は、ビットマップに割り当てられています)。 https://developer.android.com/reference/android/graphics/drawable/VectorDrawable.html#draw(android.graphics.Canvas)をご覧ください。 –