2017-11-23 2 views
0

Ich kann nicht herausfinden, warum, wenn ich auf meine Schaltfläche "Toactility" auf den folgenden Code klicken, reagiert die overridePendingTransition überhaupt nicht und stattdessen ich eine Standard-Fade-in-Style-Animation erhalten. Hier ist mein Code:Kann nicht herausfinden, warum overridePendingTransition in einer Instanz funktioniert, aber in einer anderen ignoriert wird

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_information_navi); 


    Button ToMainActivity = (Button)findViewById(R.id.toactivity); 
    ToMainActivity.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent startIntent = new Intent(getApplicationContext(), MainActivity.class); 
      startActivity(startIntent); 

      overridePendingTransition(0, R.anim.navigation_slide_left); 
      finish(); 

     } 
    }); 

} 

Ich habe versucht finish(); an verschiedenen Stellen platziert, oberhalb startActivity(startIntent); und darunter. overridePendingTransition wird ignoriert.

Allerdings funktioniert der overridePendingTransition auf der Androide Hardback-Taste wie erwartet. Hier ist der Code:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 
     case android.R.id.home: 
      finish(); 
      return true; 


    } 
    return super.onOptionsItemSelected(item); 
} 

@Override 
public void finish() { 
    super.finish(); 
    overridePendingTransition(0, R.anim.navigation_slide_left); 
} 

Kann nicht herausfinden, warum, wenn der overridePendingTransition Code nicht unter Arbeit oder über startActivity(startIntent);

Wie kann ich es an die Arbeit?

Antwort

0

Von here where I have answered, verwenden Sie wie folgt aus:

overridePendingTransition(R.anim.enter_from_right, R.anim.exit_out_left); 

dann in res->anim Ordner:

enter_from_right.xml:

<?xml version="1.0" encoding="utf-8"?> 
<set 
    xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     android:duration="300" 
     android:fromXDelta="100%" 
     android:toXDelta="0%" > 
    </translate> 
</set> 

exit_out_left.xml:

<?xml version="1.0" encoding="utf-8"?> 
<set 
    xmlns:android="http://schemas.android.com/apk/res/android" > 

    <translate 
     android:duration="300" 
     android:fromXDelta="0%" 
     android:toXDelta="-100%" > 
    </translate> 
</set> 
+0

das funktioniert nicht. – iBEK

+0

@iBEK diese Zeile sollte nach StartActivity() gestellt werden und was passiert? –

+0

Es ist nach und ich bekomme die gleiche Art wie eine Einblendung Animation, Standard-Animation. – iBEK

Verwandte Themen