[英]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.