我有兩個活動A和B.我想要縮小動畫時 活動A調用B並在活動B調用時最大化動畫A.我不需要動畫xml文件。如何在Android中調用另一個活動時提供動畫?
當我們在Android中調用另一個Activity時,它會給出它的默認動畫,然後調用縮小動畫。
我想要的是,默認動畫不應該發生,我想要的動畫應該發生。
我們可以在調用另一個Activity時真的給動畫嗎?
我有兩個活動A和B.我想要縮小動畫時 活動A調用B並在活動B調用時最大化動畫A.我不需要動畫xml文件。如何在Android中調用另一個活動時提供動畫?
當我們在Android中調用另一個Activity時,它會給出它的默認動畫,然後調用縮小動畫。
我想要的是,默認動畫不應該發生,我想要的動畫應該發生。
我們可以在調用另一個Activity時真的給動畫嗎?
由於API 16可以在調用Context.startActivity(Intent, Bundle)或相關方法時所提供的活動選項包。它通過ActivityOptions建設者創建:
Intent myIntent = new Intent(context, MyActivity.class);
ActivityOptions options =
ActivityOptions.makeCustomAnimation(context, R.anim.fade_in, R.anim.fade_out);
context.startActivity(myIntent, options.toBundle());
不要忘記檢查出ActivityOptions建設者的其他方法和ActivityOptionsCompat如果您使用的是支持庫。
API 5+:
對於應用定位API級5+存在活動overridePendingTransition
方法。它需要兩個資源ID用於傳入和傳出動畫。一個0
的ID將禁用動畫。在撥打startActivity
後立即致電此。
即:
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
API 3+:
您可以防止與您的意圖Intent.FLAG_ACTIVITY_NO_ANIMATION
標誌默認的動畫(從右側滑入)。
即:
Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);
然後在你的活動,你只需指定自己的動畫。
這也適用於1.5 API(3級)。
您必須使用OverridePendingTransition方法來實現它,它在Activity class中。 apidemos示例res/anim文件夾中的示例動畫。覈實。不止檢查ApiDemos/App/Activity/animation中的演示。
例子:
@Override
public void onResume(){
// TODO LC: preliminary support for views transitions
this.overridePendingTransition(R.anim.in_from_right, R.anim.out_to_left);
}
感謝您的回覆。方法overridePendingTransition從API級別5支持,我希望應用程序可以從Android 1.5支持。是否有任何其他方式將動畫從一個活動提供給另一個活動。 – sunil 2010-04-17 06:21:28
真棒!這是一個很有趣的玩 – 2011-05-25 21:47:15
@sunil我有像你一樣的quetion.could你解決這個問題?動畫與API級別3或4(而不是5) – 2012-10-23 07:19:25
果凍豆增加了對這種支持與ActivityOptions.makeCustomAnimation()方法。當然,因爲它只在果凍豆上,所以它對於實際用途來說是非常沒有價值的。
它不值錢了:) – 2014-02-09 20:09:18
如果您的目標是JellyBean,請使用'ActivityOptionsCompat'。 – 2016-01-10 06:05:45
你是什麼意思當你說「指定你自己的動畫」?你怎麼做到這一點?謝謝! – pqn 2011-08-18 21:48:05
我有同樣的問題。可能在onResume和onPause中啓動動畫。 – Tima 2011-08-22 07:40:29
是否有一種方法可以使用Animator? – 2014-10-20 08:23:24