【发布时间】:2011-07-19 17:52:16
【问题描述】:
public Drawable rotateDrawable(int angle)
{
Bitmap arrowBitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.arrowscalled);
// 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);
}
每当我调用它时,标记就会消失而不是旋转。我做错了什么?
【问题讨论】:
-
额外的画布(canvasBitmap)让我很困惑,为什么还要它?
-
您能否使用给我们的好工具更好地格式化代码!
-
@Dan 它是为了别的东西,无论如何这不是问题我已经删除它谢谢你提醒我。
-
目标是在 ImageView 中显示还是直接在画布上绘制?
-
@Dan 使用 setMarker(Drawable d) 直接在画布上绘图
标签: android android-mapview google-maps-markers