Ich habe den folgenden Code, der ein Zeichen um eine festgelegte Gradzahl drehen kann.
public Drawable rotateDrawable(float angle, Context context)
{
Bitmap arrowBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.generic2rb);
// Create blank bitmap of equal size
Bitmap canvasBitmap = arrowBitmap.copy(Bitmap.Config.ARGB_8888, true);
canvasBitmap.eraseColor(0x00000000);
// Create canvas
Canvas canvas = new Canvas(canvasBitmap);
// Create rotation matrix
Matrix rotateMatrix = new Matrix();
rotateMatrix.setRotate(angle, canvas.getWidth()/2, canvas.getHeight()/2);
//Draw bitmap onto canvas using matrix
canvas.drawBitmap(arrowBitmap, rotateMatrix, null);
return new BitmapDrawable(canvasBitmap);
}
Das neue SDK sagt, dass die
BitmapDrawable(canvasBitmap);
ist veraltet. Gibt es überhaupt Alternativen?
http://developer.Android.com/reference/Android/graphics/drawable/BitmapDrawable.html
Tun Sie dies stattdessen:
return new BitmapDrawable(context.getResources(), canvasBitmap);
Kotlin-Code für BitmapDrawable:
var bitmapDrawable = BitmapDrawable( resources , bitmapObj)
Versuchen Sie dies einmal.
In Aktivität
BitmapDrawable background = new BitmapDrawable(this.getResources(), blurImageBg);
In Fragment
BitmapDrawable background = new BitmapDrawable(getActivity(), blurImageBg);
Im Adapter oder sonst
BitmapDrawable background = new BitmapDrawable(context.getResources(), blurImageBg);