Как запускать анимационные последовательности более одного раза - PullRequest
2 голосов
/ 06 сентября 2011

Я использую последовательность для анимации в моем проекте. Я установил onClickListener для того изображения, куда я помещаю последовательности анимации. теперь, когда я в первый раз запускаю код и нажимаю на изображение, он запускает анимацию правильно, но затем он больше никогда не запускается при нажатии. Я должен снова запустить код. Итак, как я могу запускать анимационные последовательности более одного раза? Я поместил свой код ниже для запуска последовательности анимации.

image.setOnClickListener (new OnClickListener () {

      @Override           
      public void onClick(View v) {

          // TODO Auto-generated method stub

          animation_door = (AnimationDrawable) image.getBackground();
          animation_door.start();             

}});

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

Ну, прежде чем снова нажать на кнопку, вам также нужно остановить анимацию, чтобы вы могли попробовать ее следующим образом,

 image.setOnClickListener(new OnClickListener() {

            @Override           
            public void onClick(View v) {

                animation_door = (AnimationDrawable) image.getBackground();
                animation_door.stop();
                animation_door.start();         
              }
          });
1 голос
/ 06 сентября 2011

Ваша анимация установлена ​​как oneShot?Скорее всего, он находится в конечном состоянии, и вам просто нужно вернуть его обратно в начальное состояние.

AnimationDrawable door = (AnimationDrawable) image.getBackground();
door.setOneShot(false);
door.start();

Имейте в виду, что это, скорее всего, приведет к циклической анимации, которая, вероятно, вам не нужна.Вместо этого вы можете использовать набор анимаций , поскольку у вас будет немного больше контроля над самой анимацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...