2016-10-01 2 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. Объект PathMeasure принимает в своем конструкторе Path. Это позволяет выполнять измерения на Path. Вызывая PathMeasure.getSegment(), вы можете получить часть пути, поэтому, получая более длинные и длинные сегменты, вы можете анимировать путь в движении. И демо использует метод PathMeasure.getPosTan(), чтобы получить положение и касательную конца сегмента. Эти значения используются для позиционирования и поворота графического изображения на бумажном самолете, чтобы он выглядел так, будто он перемещается по пути.

+0

спасибо за ваш ответ, я попробую его попробовать –