2016-03-30 24 views
1

İki farklı sahne için xml'yi tanımladım (activity_test_pre.xml ve activity_test.xml) ve bu, sahneleri yüklemek, ilkini girmek ve son olarak diğerine geçiş yapmak için kullanılan koddur. :Oncreate yönteminde Android geçişi

ViewGroup rootContainer = (ViewGroup) findViewById(R.id.base); 

    //first scene 
    ViewGroup startViews = (ViewGroup)getLayoutInflater() 
      .inflate(R.layout.activity_test_pre, rootContainer, false); 

    //second scene 
    ViewGroup endViews = (ViewGroup)getLayoutInflater() 
      .inflate(R.layout.activity_test, rootContainer, false); 

    scene1 = new Scene(rootContainer, startViews); 
    scene2 = new Scene(rootContainer, endViews); 

    //create transition, set properties 
    transition = new ChangeBounds(); 
    transition.setDuration(3000); 
    transition.setInterpolator(new BounceInterpolator()); 


    scene1.enter(); 
    TransitionManager.go(scene2); 

sorun aktivite OnCreate yönteminde bu kodu olması. Bu şekilde uygulama geçişsiz ikinci sahneyi gösterir.

Son satırı koyarsam: TransitionManager.go (scene2); Bir düğmenin onclick olayında , geçiş doğru şekilde gösterilmektedir. Bu davranışı istiyorum ama kullanıcı etkileşimi olmadan aktivite yüklendiğinde bunu istiyorum.

+0

denemede aynı şeyi deneyin. – Omkar

+0

Denedim. Çalışmıyor – takluiper

cevap

1

() `hemen ilanından sonra` rootContainer.removeAllViews ekleyerek onWindowFocusChanged()

@Override 
public void onWindowFocusChanged(boolean hasFocus) { 
    if(hasFocus){ 
     ViewGroup rootContainer = (ViewGroup) findViewById(R.id.base); 

     //first scene 
     ViewGroup startViews = (ViewGroup)getLayoutInflater() 
       .inflate(R.layout.activity_test_pre, rootContainer, false); 

     //second scene 
     ViewGroup endViews = (ViewGroup)getLayoutInflater() 
       .inflate(R.layout.activity_test, rootContainer, false); 

     scene1 = new Scene(rootContainer, startViews); 
     scene2 = new Scene(rootContainer, endViews); 

     //create transition, set properties 
     transition = new ChangeBounds(); 
     transition.setDuration(3000); 
     transition.setInterpolator(new BounceInterpolator()); 


     scene1.enter(); 
     TransitionManager.go(scene2); 
    } 
} 
+0

Bunu da denedim. Işe yaramadı – takluiper