web-dev-qa-db-fra.com

BitmapDrawable alternative déconseillée

J'ai le code suivant qui fera pivoter un dessinable par une quantité définie de degrés.

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

Le nouveau SDK dit que le 

BitmapDrawable(canvasBitmap); 

est obsolète. Des alternatives du tout?

http://developer.Android.com/reference/Android/graphics/drawable/BitmapDrawable.html

74
Lee Armstrong

Faites ceci à la place:

return new BitmapDrawable(context.getResources(), canvasBitmap);
174
onit

Code Kotlin pour BitmapDrawable:

          var bitmapDrawable = BitmapDrawable( resources , bitmapObj)
0
Hamed Jaliliani

Essayez cette fois.

  1. En activité

    BitmapDrawable background = new BitmapDrawable(this.getResources(), blurImageBg);
    
  2. Dans le fragment

    BitmapDrawable background = new BitmapDrawable(getActivity(), blurImageBg);
    
  3. Dans l'adaptateur ou autre

    BitmapDrawable background = new BitmapDrawable(context.getResources(), blurImageBg);
    
0
Surendar D