2012-09-30 4 views
0

을 시작할 때 규칙을 구하는 방법, 나는 코드에 의해 약간의 애니메이션을 준비 :내 응용 프로그램을 실행할 때 내 애플

public class MainActivity extends ActionBarActivity{ 

private Animation buscarAnimation2 = null; 
private Animation buscarAnimation3 = null; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    RelativeLayout RL=(RelativeLayout)findViewById(R.id.RelativeLayout1); 


    buscarAnimation2 = AnimationUtils.loadAnimation(this, R.anim.boton2); 
    buscarAnimation3 = AnimationUtils.loadAnimation(this, R.anim.boton1); 

    RL.getViewTreeObserver().addOnGlobalLayoutListener(
      new ViewTreeObserver.OnGlobalLayoutListener() { 
       public void onGlobalLayout() { 
        TextView t1=(TextView)findViewById(R.id.text_trad); 
        TextView t2=(TextView)findViewById(R.id.text_rell); 
        TextView t3=(TextView)findViewById(R.id.text_cub); 
        TextView t4=(TextView)findViewById(R.id.text_busq); 

        t1.setText(getString(R.string.main_trad)); 
        t2.setText(getString(R.string.main_rell)); 
        t3.setText(getString(R.string.main_cub)); 
        t4.setText(getString(R.string.main_busq)); 

        ImageButton b= (ImageButton)findViewById(R.id.imageButton1); 
        b.startAnimation(buscarAnimation2); 
        b.setOnClickListener(new View.OnClickListener() { 

         @Override 
         public void onClick(View v) { 
         } 
        }); 
        ImageButton b2= (ImageButton)findViewById(R.id.ImageButton01); 
        b2.startAnimation(buscarAnimation3); 
        b2.setOnClickListener(new View.OnClickListener() { 

         @Override 
         public void onClick(View v) { 
         } 
        }); 

        ImageButton b3= (ImageButton)findViewById(R.id.ImageButton03); 
        b3.startAnimation(buscarAnimation2); 
        b3.setOnClickListener(new View.OnClickListener() { 

         @Override 
         public void onClick(View v) { 
            } 
        }); 


        ImageButton b4= (ImageButton)findViewById(R.id.ImageButton02); 
        b4.startAnimation(buscarAnimation3); 
        b4.setOnClickListener(new View.OnClickListener() { 

         @Override 
         public void onClick(View v) { 
           } 
        }); 
       } 
      }); 
} 

을 그리고 난 내 응용 프로그램을 실행 가끔 때, 나는 경우, 애니메이션을 볼하지는 것을 발생 애니메이션은 지난 4 초 동안 검은 색 테마를 보았고, 마지막으로 애니메이션의 마지막 2 초 또는 마지막 2 초를 보았습니다. ... 그것은 문제가 로딩 또는 무언가가있는 경우처럼

그래서 나는이 일을 피하기 위해 할 수있는, 또는 어쩌면 내가 코드 편집을 할

뭔가 잘못하고 있어요 방법에 대해 설명합니다.

답변

0

onResume에서 애니메이션을 시작하는 것은 어떻습니까? 이 시점에서 Activity가 표시되고 실행 중인지 확인할 수 있습니다. 같은 뭔가 :

private Animation buscarAnimation1 = null; 
private Animation buscarAnimation2 = null; 
private Animation buscarAnimation3 = null; 
private Animation buscarAnimation4 = null; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    // Other initialization code. 

    buscarAnimation1 = AnimationUtils.loadAnimation(this, R.anim.boton1); 
    buscarAnimation2 = AnimationUtils.loadAnimation(this, R.anim.boton2); 
    buscarAnimation3 = AnimationUtils.loadAnimation(this, R.anim.boton2); 
    buscarAnimation4 = AnimationUtils.loadAnimation(this, R.anim.boton1); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 

    ImageButton b1= (ImageButton)findViewById(R.id.imageButton1); 
    b1.startAnimation(buscarAnimation1); 
    ImageButton b2= (ImageButton)findViewById(R.id.ImageButton01); 
    b2.startAnimation(buscarAnimation2); 
    ImageButton b3= (ImageButton)findViewById(R.id.ImageButton03); 
    b3.startAnimation(buscarAnimation3); 
    ImageButton b4= (ImageButton)findViewById(R.id.ImageButton02); 
    b4.startAnimation(buscarAnimation4); 
} 
+0

이 경우 앱이 백그라운드로 이동하고 중간에 살해 당하지 않고 다시 들지 않으면 앱이 실행되지 않습니다. –

+0

액티비티 안드로이드 문서를 보면'onResume()'이 매번 (심지어 첫 번째로) 호출되어 액티비티에 포커스가 주어지는 것을 볼 수 있습니다. – Nicholas

0

는 레이아웃에 ViewTreeObserver를 부착하고, 레이아웃이 완전히 그려되고 나면 그가 호출로는, 애니메이션을 호출하는 onGlobalLayoutListener() 메소드의 오버라이드 (override).

+0

위 코드를 편집하지만 ... 이제 애니메이션이 시작되지 않습니다! 도와 주시면 ... 감사합니다! – Txispas

관련 문제