2013-02-02 3 views
3

Использованием ObjectAnimator с, возможно, с PropertyValuesHolder с, можно указать начальные и конечные значения для анимированного свойства:Укажите исходные значения для ViewPropertyAnimator

ObjectAnimator animX = ObjectAnimator.ofFloat(myView, "x", 20f, 50f); 
ObjectAnimator animY = ObjectAnimator.ofFloat(myView, "y", 30f, 100f); 
AnimatorSet animSetXY = new AnimatorSet(); 
animSetXY.playTogether(animX, animY); 
animSetXY.start(); 

PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("x", 20f, 50f); 
PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("y", 30f, 100f); 
ObjectAnimator.ofPropertyValuesHolder(myView, pvhX, pvyY).start(); 

Как я могу достичь ту же анимацию с ViewPropertyAnimator с? Синтаксис, кажется, не поддерживает начальные значения, при условии, что они равны значениям, вид имеет в анимации запуска:

myView.animate().x(50f).y(100f); //Where do I put starting values?? 

Спасибо;)

ответ

4

Если вы собираетесь использовать ViewPropertyAnimator, ваши мнения должны находиться на стартовых позициях до начала анимации.

+1

Просто комплектX и комплектY. – Moritz

+0

Хуже того, представления должны находиться в их стартовых позициях (значениях), прежде чем вы даже вызовете первый метод ViewPropertyAnimator. –

+2

Конкретнее, «myView.animate(). X (50f)» подготавливает аниматор для анимации из getX() (полученного немедленно) до 50f, прежде чем вы начнете звонить. –

Смежные вопросы