如何在Android中旋转Drawable?
我有一个继承自Drawable并重写Draw(canvas)方法的类,以便创建一个箭头,我需要将其放在一条线上并旋转它以匹配线的斜率。
我无法弄清楚如何旋转Drawable;我在这看到的一切都是如何旋转Bitmap,而不是Drawable。
我先尝试过旋转画布,但这会导致奇怪的结果。
有什么建议吗?
我见过很多人讨论过的最后一件事就是:
答案 0 :(得分:0)
所以我明白了。似乎有一种非常具体的方法,你必须旋转画布,以旋转它上面的drawable:
canvas.Save(SaveFlags.Matrix);
canvas.Rotate(_degrees, _location.X, _location.Y);
canvas.DrawPath(path, _paint);
canvas.Restore();
所以基本上,你保存画布'当前状态,旋转它(这里,我使用_location,它保存用户从屏幕上抬起手指的点),然后在旋转的画布上绘制,然后将其恢复到之前的状态(绘制的抽象画仍然绘制)。