簡體   English   中英

在Android中旋轉Drawable

[英]Rotate a Drawable in Android

如何在android中旋轉Drawable?

我有一個從Drawable繼承並重寫Draw(canvas)方法的類,以便創建需要放置在直線上並旋轉它以匹配直線斜率的箭頭。

我不知道如何旋轉Drawable。 我在此看到的所有內容都是如何旋轉位圖而不是Drawable。

我嘗試過先旋轉畫布,但這會導致奇怪的結果。

有什么建議么?

我已經看到很多人討論過的最后一件事是:

如何將位圖旋轉90度

所以我想通了。 似乎有一種非常特定的方法,您必須旋轉畫布才能在其上旋轉可繪制對象:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM