сегодня я искал хороший способ создания анимации на ViewPager, и я нашел хорошую библиотеку в github под названием SparkleMotion. я видел анимацию в своей демонстрации, что бумажный плейн летает и оставляет след. Вот как выглядит его вид https://github.com/IFTTT/SparkleMotion/blob/master/art/sparklemotion.gif Фактически мне нужна анимация трассировки за плоскостью, а не другая анимация, может ли кто-нибудь сказать мне, что это за анимация и как ее использовать? ссылка GitHub проекта является: https://github.com/IFTTT/SparkleMotionИспользование специальной анимации в ViewPager
ответ
Исходный код в этом SparkleMotion проекте вы будете наиболее заинтересованы в том PathAnimation
class в главном проекте и PaperPlaneView
class в демонстрационном проекте.
Анимация сосредоточена на android.graphics.Path
class. С классом Path
вы можете объединить прямые линии, дуги, прямоугольники, кривые безье и т. Д., Чтобы сформировать непрерывную линию.
Чтобы сделать путь, класс Canvas
имеет способ drawPath()
. У этого также есть связанный метод setPathEffect()
, где вы могли бы, например, установить DashPathEffect
, чтобы получить пунктирные линии.
Что делает анимационную работу классом PathMeasure
. Объект PathMeasure
принимает в своем конструкторе Path
. Это позволяет выполнять измерения на Path
. Вызывая PathMeasure.getSegment()
, вы можете получить часть пути, поэтому, получая более длинные и длинные сегменты, вы можете анимировать путь в движении. И демо использует метод PathMeasure.getPosTan()
, чтобы получить положение и касательную конца сегмента. Эти значения используются для позиционирования и поворота графического изображения на бумажном самолете, чтобы он выглядел так, будто он перемещается по пути.
спасибо за ваш ответ, я попробую его попробовать –