簡體   English   中英

Android ICS活動從淡入/淡出過渡到幻燈片

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM