[英]Android ICS Activity Transition from Fade In/Out Back to Slide
我有一個應用程序,我在標准活動中使用默認的幻燈片輸入/輸出效果,並在一些特定的活動上淡入/淡出。
我注意到新的Android 4.X(ICS)有一個不同的默認值,它正是淡入/淡出。
如何在我的標准活動中定義我的幻燈片輸入/輸出效果?
我一直試圖用以下方法來定義它:
@Override
public void onCreate(Bundle savedInstanceState)
{
this.overridePendingTransition(0, android.R.anim.slide_in_left);
super.onCreate(savedInstanceState);
}
@Override
public void onPause()
{
super.onPause();
overridePendingTransition(android.R.anim.slide_out_right, 0);
}
要重現我正在使用的淡入/淡出效果:
@Override
public void onCreate(Bundle savedInstanceState)
{
this.overridePendingTransition(0, android.R.anim.fade_in);
super.onCreate(savedInstanceState);
}
@Override
public void onPause()
{
super.onPause();
overridePendingTransition(android.R.anim.fade_in, 0);
}
但還沒有成功地重現它。
另外,我在onCreate和onPause上使用此代碼,這是正確的嗎? 還是有更好的地方可以把它?
謝謝
PS:我在活動之間看到了這個新的Android 4.0屏幕轉換,但現在已經提供了答案。
必須在啟動新活動后立即調用overridePendingTransition(),因此您可以在startActivity(intent)之后調用它。 要創建默認值,您可以創建一個擴展Activity並覆蓋startActivity,onBackPressed()等的類來覆蓋轉換。 例如:
public class MyActivity extends Activity {
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.slide_in_transition,R.anim.slide_out_transition);
}
@Override
public void startActivity(Intent intent) {
super.startActivity(intent);
overridePendingTransition(R.anim.slide_in_transition,R.anim.slide_out_transition);
}
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.slide_in_transition,R.anim.slide_out_transition);
}
}
然后,只需在活動中擴展MyActivity而不是Activity,默認情況下轉換都應該滑動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.