Анимация синусоиды в андроиде - PullRequest
0 голосов
/ 27 марта 2012

У меня проблема с движущейся анимацией.Я хочу создать анимацию, которая начинается, когда я выхожу на экран, а она начинается с места, где я коснулся, и заканчиваю его, как показано на рисунке: enter image description here

Конечное место постоянно.Как я могу сделать это синусоидальное движение?

edit1: я хочу щелкнуть, и когда я щелкаю, показать изображение, и он идет таким образом, чтобы закончить место.Я не кликаю и не перетаскиваю эту картинку.Эта фотография должна показывать и отправляется в это место без моей помощи.Единственное, что я делаю, это касаюсь экрана.Как я могу это сделать? У меня проблема с движением анимации.Я хочу создать анимацию, которая начинается, когда я выхожу на экран, а она начинается с места, где я коснулся, и заканчиваю его, как показано на рисунке:

Конечное место постоянно.Как я могу сделать это синусоидальное движение?

edit1: я хочу нажать, и когда я нажимаю, показать изображение, и он идет таким образом, чтобы закончить место.Я не кликаю и не перетаскиваю эту картинку.Эта фотография должна показывать и отправляется в это место без моей помощи.Единственное, что я делаю, это касаюсь экрана.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 27 марта 2012

Я написал что-то вроде этого, что позволяет изогнутую анимацию, полный ответ (и рабочий код) вы можете увидеть здесь: Проблема достижения изогнутой анимации

Это не должно быть слишком сложноили объединить несколько из них вместе, или изменить алгоритм, чтобы использовать кубическую (или более высокую) функцию для получения нескольких кривых.

Единственное предостережение в том, что из-за кривой Безье нет никакой гарантии, что путь действительно пройдет через среднюю точку, которую вы ему дадите.Если это снова проблема, вы можете легко заменить алгоритм Безье, который я использую в приведенном выше примере, на что-то более подходящее для ваших нужд.

0 голосов
/ 27 марта 2012

Проверьте источники TranslationAnimation, где перевод сделан.Затем создайте свою функцию, которая отображает функцию синуса на линии от начала до конца.Вы можете начать с установки горизонтальной линии с длиной dist (начало, конец), начинающейся с (начало), отображением синуса на ней и затем вращением вокруг начальной точки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...