2016-07-20 9 views
0

Auf einem button click möchte ich zu einem activity gehen, das nicht von mir (such as ACTION_DIAL) geschrieben wird und gleichzeitig möchte ich es transition effects steuern.Übergangseffekte zwischen Aktivitäten in Android

Ich bin in der Lage transition effect bei Eröffnung der Aktivität zu steuern, indem overridePendingTransition, aber ich bin nicht in der Lage, die transition effect zu steuern, wenn ich auf die gleiche Seite wieder durch die backbutton drücken.

Ich möchte den gleichen Effekt (android.R.anim.fade_in, android.R.anim.fade_out) während Start und Ende der Aktivität passieren, die nicht ab sofort passiert. Es funktioniert nur am Anfang.

Ich füge das Code-Snippet hinzu. Bitte schau es dir an und hilf mir. :)

case R.id.button1:intent = new Intent(Intent.ACTION_DIAL); 

          startActivity(intent); 
          overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 
          break; 
case R.id.button2:intent = new Intent(Intent.ACTION_MAIN); 
          intent.addCategory(Intent.CATEGORY_APP_MESSAGING); 
          //intent.setType("vnd.android-dir/mms-sms"); 
          startActivity(intent); 
          overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 
          break; 
+0

Fügen Sie einfach Ihren Übergangseffektcode in 'onResume()' und 'onPause()' hinzu –

Antwort

0

wie diese versuchen in Ihrer Tätigkeit

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

@Override 
public void onBackPressed() { 
    finish(); 
} 

oder einfach diese

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
} 
0

Danke SaravInfern für Ihre Hilfe. Aber Ihre Lösung wird mir nicht helfen, weil ich die onBackPressed() -Funktion für eine andere Operation verwende.

Allerdings war ich in der Lage Lösung zu finden, mich dank https://developer.android.com/training/basics/activity-lifecycle/stopping.html

Ich habe die ‚overridePendingTransition (R.anim.fade_in, R.anim.fade_out)‘ Linie innerhalb onResume und onPause Funktionen wie folgen, die die gelöst Problem für mich.

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

    overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 

} 

@Override 
public void onPause() { 
    overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 
    super.onPause(); 

}