TranslateAnimated ImageView не активируется после анимации [Android] - PullRequest
8 голосов
/ 03 августа 2010

У меня есть 2 ImageView s, которые я перевожу с верхней части экрана на нижнюю. эти представления передаются из XML, а анимация добавляется из кода Java. Анимация работает отлично, но onClickListener, который я добавил в коде Java, похоже, не работает. Я использовал атрибут fillAfter анимации, чтобы заставить iamges оставаться при их прибытии после перевода, но ЭТИ изображения больше не кликабельны ... Однако их позиция перед переводом остается кликабельной ... Я не вижу логики этого. Кто-нибудь может дать мне какой-нибудь совет по этому поводу?

1 Ответ

14 голосов
/ 24 января 2011

Это потому, что анимация влияет только на рисунок виджета.Однако на реальное местоположение это не влияет - оно все еще остается в прежнем -.

Чтобы преодолеть эту проблему, вам необходимо обновить параметры макета ImageView вручную, установив прослушиватель анимации следующим образом:

Animation.setAnimationListener(new AnimationListener() {
        public void onAnimationStart(Animation arg0) {

        }

        public void onAnimationRepeat(Animation arg0) {
            //TODO Auto-generated method stub
        }

        public void onAnimationEnd(Animation arg0) {
            android.widget.LinearLayout.LayoutParams params = new LayoutParams(
            android.widget.LinearLayout.LayoutParams.FILL_PARENT,
            android.widget.LinearLayout.LayoutParams.WRAP_CONTENT);
            params.topMargin = addLocationButton.getTop()-100;

            ImageView.setLayoutParams(params);
        }
        });
...