[英]Rotate a Drawable in Android
如何在android中旋转Drawable?
我有一个从Drawable继承并重写Draw(canvas)方法的类,以便创建需要放置在直线上并旋转它以匹配直线斜率的箭头。
我不知道如何旋转Drawable。 我在此看到的所有内容都是如何旋转位图而不是Drawable。
我尝试过先旋转画布,但这会导致奇怪的结果。
有什么建议么?
我已经看到很多人讨论过的最后一件事是:
所以我想通了。 似乎有一种非常特定的方法,您必须旋转画布才能在其上旋转可绘制对象:
canvas.Save(SaveFlags.Matrix);
canvas.Rotate(_degrees, _location.X, _location.Y);
canvas.DrawPath(path, _paint);
canvas.Restore();
因此,基本上,您要保存画布的当前状态,然后将其旋转(在这里,我使用的是_location,它保留了用户从屏幕上抬起手指的位置),然后在旋转后的画布上进行绘制,然后将其还原为先前的状态(可绘制的绘制仍处于绘制状态)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.