Presente desde API 11 (NineOldAndroids); • Definidas por XML ou programaticamente; • Possibilidade de pausar animação (API 19); • ValueAnimator, ObjectAnimator.
na API 12; • Fácil API; • Otimizado quando há a necessidade de animar várias propriedades de uma view; • Independente de View Animation e Property Animation.
Property Animation ViewPropertyAnimator Aplica-se somente a algumas propriedades de objetos view Aplica-se a quaisquer objetos e propriedades Aplica-se somente a algumas propriedades de objetos view Anima somente o desenho da view, e não suas propriedades reais Anima as propriedades reais do objeto Anima as propriedades reais do objeto XML e Java XML e Java Somente Java
view; • Utiliza Property Animation; • Animações em cinco situações: APPEARING, DISAPPEARING, CHANGING, CHANGE_APPEARING, CHANGE_DISAPPEARING. • Animações são disparadas sempre que existe uma alteração de layout. Exemplos: addView(), removeView(), setVisibility();
public boolean animateAdd(RecyclerView.ViewHolder holder); @Override public boolean animateMove(RecyclerView.ViewHolder holder, int fromX, int fromY, int toX, int toY); @Override public boolean animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, int fromLeft, int fromTop, int toLeft, int toTop); @Override public void runPendingAnimations(); @Override public void endAnimation(RecyclerView.ViewHolder item); @Override public void endAnimations(); @Override public boolean isRunning(); }
• Disponível na API 19; • Utiliza Property Animation; • Shared elements (API 21), para animar uma mesma view presente nas duas activities da transição.