2016-10-01 42 views
0

今天我正在尋找一種在ViewPager上創建動畫的好方法,並且我在github中找到了一個名爲SparkleMotion的好庫。我在他們的演示中看到一個動畫,一個紙片飛起來,留下一絲痕跡。下面是它的外觀 https://github.com/IFTTT/SparkleMotion/blob/master/art/sparklemotion.gif 實際上我只需要在飛機後面跟蹤動畫而不是其他動畫,誰能告訴我這是什麼動畫以及如何使用它? 項目的GitHub的鏈接是: https://github.com/IFTTT/SparkleMotion在ViewPager中使用特定的動畫

回答

0

你將是最感興趣的是SparkleMotion項目的源代碼是在主項目的PathAnimation class和示範項目的PaperPlaneView class

該動畫集中在android.graphics.Path class。使用Path類,可以將直線,圓弧,矩形,貝塞爾曲線等組合成一條連續線。

要呈現路徑,Canvas類有一個drawPath()方法。它也有一個相關的方法setPathEffect()你可以例如設置一個DashPathEffect來獲得虛線。

什麼使動畫工作是一個叫做PathMeasure的類。 A PathMeasure對象在其構造函數中使用Path。這使您可以在Path上進行測量操作。通過調用PathMeasure.getSegment(),您可以獲得路徑的一部分,因此通過獲取更長和更長的段,可以爲運動中的路徑製作動畫。演示使用PathMeasure.getPosTan()方法來獲取片段末尾的位置和切線。這些值用於定位和旋轉紙飛機圖形,使其看起來像在路徑上行駛。

+0

感謝您的回答,我會試試看 –