2013-03-18 2 views
3

Я использую NineOldAndroids для анимации. В основном, что я пытаюсь достичь, это применить некоторую анимацию к кнопке, прежде чем спрятать ее. Итак, я применяю анимацию к своей кнопке, а затем вызываю setVisibility (View.GONE), но похоже, что она не вступает в силу. Кнопка все еще находится на экране и обрабатывает клики. Должен ли я как-то «сбросить» состояние кнопки после применения анимации?Невозможно установить видимость после использования ObjectAnimator

final Button button = (Button) getView().findViewById(R.id.user_to_button); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      ObjectAnimator.ofFloat(AnimatorProxy.wrap(v), "alpha", 1, 0).setDuration(100).start(); 
      ObjectAnimator.ofFloat(AnimatorProxy.wrap(v), "translationX", 0, -v.getWidth()).setDuration(100).start(); 
      v.setVisibility(View.GONE); 
     } 
    }); 

Если я удалю анимацию, тогда она работает как ожидается - скрывает кнопку.

+0

попробовать, как этот 'button.setVisibility (View.GONE);' я имел эту проблему раньше, и я Решите, как это –

+0

Я пробовал, но все равно не повезло. – agamov

+2

Загляните в [Animation.AnimationListener] (http://developer.android.com/reference/android/animation/Animator.AnimatorListener.html#onAnimationEnd (android.animation.Animator)) – adneal

ответ

0

Используйте это до setVisibility после анимации завершена:

anim.reverse(); 
     anim.removeAllListeners(); 
     anim.end(); 
     anim.cancel(); 

где аним ваш ObjectAnimator

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