Android анимация и её различия
Всем привет! Подскажите, пожалуйста, в чем может быть проблема? Не могу понять:
Мне надо запустить движение кнопок (тестово их 5, потом много), если запускаю так:
pr1.animate().translationYBy(-5000).setDuration(5000);
то без проблем срабатывает код нажатия.
Если запускаю анимацию так:
final Animation Pusk = AnimationUtils.loadAnimation(this, R.anim.pusk);
pr1.startAnimation(Pusk);
То анимация происходит, но нажать на кнопку получается только в её начальном положении. Согласно анимации она уезжает в нужную точку, но в начальном месте остается, как-бы её "фантом", на котором срабатывает нажатие.
Обработка нажатия:
public void Catch1(View v){
ListWords.add(pr1.getText().toString());
texx.setText(String.valueOf(ListWords));
}
Ответы (1 шт):
Старые средства анимации
Классы из пакета android.view.animation (не путайте с более новым пакетом android.animation, появившимся в Honeycomb). Это устаревшая инфраструктура анимации, о которой следует знать в основном для того, чтобы избегать ее. Если в имени класса присутствует слово «animaTION» вместо «animaTOR», это верный признак того, что перед вами старый инструмент и пользоваться им не следует.
Пример с ObjectAnimator:
ObjectAnimator moveAnimatorY = ObjectAnimator.ofFloat(yourBtn, "y", -5000);
moveAnimatorY.setDuration(5000);
moveAnimatorY.start();