2013-11-19 23 views
0

У меня есть анимация, которая должна отображаться при щелчке изображения и завершать анимацию, прежде чем перейти к другому действию. Я пытался это сделать.Завершите анимацию при щелчке, прежде чем переходить к другому действию

Вот мой код:

public void myAnimation() 
    AnimationDrawable animation; 
    animation = new AnimationDrawable(); 
    animation.addFrame(
      getResources().getDrawable(R.drawable.large_ring_monotone), 
      1000); 
    animation.addFrame(getResources() 
      .getDrawable(R.drawable.large_ring_eal), 1000); 
    animation.addFrame(
      getResources().getDrawable(R.drawable.large_ring_blue), 1000); 
    animation.addFrame(
      getResources().getDrawable(R.drawable.large_ring_monotone), 
      1000); 

    animation.setOneShot(true); 
    img_big_2_back.setOnClickListener(new OnClickListener){ 
    img_big_2_back.setBackgroundDrawable(animation); 

     try { 
      animation.start(); 
      Thread.sleep(3000); 

     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     Intent i1 = new Intent(MAinACtivity.this,SecondActivity.class); 
     startActivity(i1); 
    }); 
} 

Может ли один дайте мне знать, где я буду неправильно

+0

Опишите, пожалуйста, что вы думаете об ошибке? – avalancha

+0

object.clearAnimation(); – RobinHood

ответ

3

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

http://developer.android.com/reference/android/view/animation/Animation.AnimationListener.html

+0

Я не могу использовать AnimationListener для AnimationDrawable, если я использую анимацию, то как прикреплять к ней изображения – user2717079

1

Прежде всего, почему есть в вашем коде есть Thread Sleep? Это не способ ждать, когда анимация закончится. Попробуйте ответы this thread. Вы можете использовать способ, описанный в this answer.

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