我有以下代码,将可绘制对象旋转一定程度的 Angular 。

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

新版SDK指出
BitmapDrawable(canvasBitmap);

不推荐使用。有没有其他选择?

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

最佳答案

改为这样做:

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

08-05 14:23