Слушатель после анимации в андроиде не работает

Я устанавливаю android:fillAfter="true" в res/anim.

Я хочу переместить LinearLayout к вам

В эту LinearLayout я положил кнопку со Слушателем.

После анимации LinearLayout этот LinearLayout находится в новой позиции, но кнопка этого LinearLayout не имеет прослушивателя.

Слушатель находится там, где была бы кнопка, если android: fillAfter = "false".

Я пробовал также с:

public void onAnimationEnd(Animation arg0) 
{
    LayoutParams params = new LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    params.topMargin = 200;
    _mylayout.setLayoutParams(params);
    _myAnim.setFillAfter(false);
}

Но ничего не происходит, потому что я не совсем выровняю проценты в аниме android:toYDelta="70%" и params.topMargin = 200;

Как мне это решить? Спасибо

3 ответа

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

mylayout.layout(x,x,x,x);

Если у вас есть проблемы с этим, пожалуйста, посмотрите на мой вопрос:

TranslateAnimation не работает, как ожидалось

Попробуйте этот метод для просмотра

clearanimation() заполняемый (ложный)

У меня была такая же проблема.

Все, что вам нужно сделать, это перерегистрировать слушателя в

myButton.setOnClickListener(myListener);

после того как анимация случится.

Надеюсь это поможет!

Другие вопросы по тегам