2011-01-19 8 views
0

내 애플리케이션에서 버튼 별 선택기에 프레임 별 애니메이션을 추가했습니다. 그래서 버튼을 누르면 응용 프로그램이 시작되고 다른 활동이 시작됩니다. 문제는 버튼을 매우 빠르게 누르면 응용 프로그램이 두 번째 프레임에만 도달한다는 것입니다. 애니메이션이 끝난 후 다음 활동을 시작하고 싶습니다. 그게 가능하니?애니메이션 후 버튼 명령 실행

덕분에 많은

Gratzi

답변

0

"에 Thread.sleep (XXXX)를 사용하여 몇 secconds 후 활동을 시작하는 대신 새로운 Thread 직접 새로운 활동하고이 새로운 스레드를 실행해야하는 버튼; "

btn.setOnClickListener(new OnClickListener() 
{ 
    @Override 
    public void onClick(View v) 
    { 
    new Thread() 
    { 
     public void run() 
     { 
      Thread.sleep(1000); 
      //LAUNCH NEW ACTIVITY HERE 
     } 
    }.start(); 
    } 
} 

도움이되기를 바랍니다.

+0

저는 이것을 사용했고 작동합니다. 그러나 또 다른 문제가 있습니다. 애니메이션은 버튼에 원을 그려 시뮬레이션하고 있으며, 마지막 프레임은 전체 원입니다. 애니메이션 프레임은 버튼을 누른 후에 만 ​​볼 수 있어야합니다. 프레임 목록 시작 부분에 투명 프레임을 추가하여이를 해결했습니다. 이제 버튼을 누르면 애니메이션이 실행되고 다음 활동이 시작됩니다. 그러나 이전 액티비티로 돌아 가면 버튼에는 배경 (전체 원)으로 마지막 애니메이션 프레임이 있습니다. – Gratzi

0

당신은 handler.postDelayed (Runnable)를 사용할 수 있습니다; 당신의 연기와 함께;

0

AnimationListener을 애니메이션으로 설정하고 animation end에서 다른 활동을 시작해야합니다.

+0

AnimationListener를 프레임 애니메이션별로 사용할 수 없다고 생각합니다. – Gratzi

관련 문제