2016-10-01 7 views
0

今日、私はViewPagerでアニメーションを作成するための良い方法を探していましたが、SparkleMotionという名前のgithubで良いライブラリが見つかりました。私は彼らのデモでアニメーションを見て、紙のプレーンが飛んできて、トレースを残しました。ここにその外観はありますか https://github.com/IFTTT/SparkleMotion/blob/master/art/sparklemotion.gif 実際に私は飛行機の背後にあるトレースアニメーションと他のアニメーションを必要としません。誰にもこのアニメーションとその使い方を教えてください。 プロジェクトのgithubのリンクは次のとおりです。 https://github.com/IFTTT/SparkleMotionViewPagerで特定のアニメーションを使用する

答えて

0

あなたが最も興味があるだろうというSparkleMotionプロジェクトのソースコードは、メインプロジェクトでPathAnimation classとデモプロジェクトでPaperPlaneView classです。

アニメーションはandroid.graphics.Path classを中心にしています。 Pathクラスを使用すると、直線、円弧、長方形、ベジエ曲線などを組み合わせて連続線を形成することができます。

パスをレンダリングするには、CanvasクラスにはdrawPath()メソッドがあります。また、関連する方法setPathEffect()があり、たとえばDashPathEffectを設定して破線を得ることができます。

アニメーションを動作させるには、PathMeasureというクラスが必要です。 PathMeasureオブジェクトはコンストラクタ内でPathをとります。これにより、Pathの測定操作を行うことができます。 PathMeasure.getSegment()を呼び出すと、パスの一部を取得できるため、長いセグメントと長いセグメントを取得することで、パスを動かすことができます。また、デモではPathMeasure.getPosTan()メソッドを使用してセグメントの端の位置と接線を取得します。これらの値は、紙飛行機の図形がパス上を移動しているように見えるように配置および回転させるために使用されます。

+0

回答ありがとうございます。試してみましょう –

関連する問題