2015-10-20 68 views
0

我想實現繪製一個圓圈的動畫。它應該看起來像這個gif,除了線的顏色應該是全部固體。另外我的圈子應該從0度開始,在360度結束。任何想法如何實現這個想法?例如,將不勝感激。在android上實現自定義動畫的最佳方式是什麼?

enter image description here

+1

使用'ObjectAnimator' /'ValueAnimator' – pskink

+0

檢查這個庫https://github.com/jakob-grabner/Circle-Progress-View。此外這個問題是offtopic – Emil

回答

3

在其最基本的級別,這是所謂的上一個CanvasdrawArc()方法的結果,無論是ViewDrawable內部。

在對於動畫,您可以通過使用一個ValueAnimator,設置在drawArc()方法中使用的AnimatorUpdateListener

編輯裏面的sweepAngle參數實現它:例如,你會打電話getAnimatedFraction()上的更新聽者的ValueAnimator自變量,它返回0F1F之間的值float,並將其乘以您想實現的目標度數(即300)。然後用它來設置sweepAngleinvalidateView來重畫它。

+1

謝謝。我還發現這個樣本非常有用。 http://stackoverflow.com/a/29381788/1329901 – Egis

+0

@Egidijus是!有幾種方法可以做到公平。你也可以創建一個自定義的'Drawable'並讓它實現'Animatable',但我更喜歡我的答案和鏈接中描述的方法。 – PPartisan

相關問題