[解決済み] Androidで他のアクティビティを呼び出すときにアニメーションを表示させるには?
質問
アクティビティAとBがありますが、アクティビティAがBを呼び出したときは縮小アニメーション、アクティビティBがAを呼び出したときは最大化アニメーションにしたいです。 アクティビティAがBを呼び出したときに縮小アニメーションを、アクティビティBがAを呼び出したときに最大化アニメーションを表示させたいと思っています。
Androidで他のアクティビティを呼び出すと、デフォルトのアニメーションが表示され、その後、縮小アニメーションが呼び出されます。
デフォルトのアニメーションが発生せず、希望のアニメーションが発生するようにしたいのですが。
他のActivityを呼び出す際に、実際にアニメーションをさせることは可能でしょうか?
どのように解決するのですか?
API 16 以降では、アクティビティオプションバンドルで Context.startActivity(Intent,Bundle)を呼び出す際に、アクティビティオプションのバンドルを指定することができます。 または関連するメソッドを呼び出す際に、アクティビティオプションバンドルを提供できます。このバンドルは アクティビティオプション ビルダーによって作成されます。
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
メソッドがあります。このメソッドは、受信用と送信用の2つのリソースIDを受け取ります。IDは
0
を指定すると、アニメーションは無効になります。の直後にこれを呼び出します。
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);
であれば、Activityで独自のアニメーションを指定すればよいことになります。
これは1.5 API (Level 3)でも有効です。
関連
-
[解決済み】このアクティビティでは、Theme.AppCompatテーマ(またはその子孫)を使用する必要があります。
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Androidのローテーションでアクティビティを再開する
-
[解決済み] AndroidでstartActivityForResultを管理する方法
-
[解決済み] ボタンクリックで新しいアクティビティを開始する方法
-
[解決済み] アンドロイド アニメーションの拡大・縮小
-
[解決済み] Android Studioで複数のデバイスでアプリを自動実行する
-
[解決済み] Error:No such property: GROUP for class: org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] Androidでビットマップから円形領域を切り取る方法
-
[解決済み] 開発者コンソールでのベータ版/アルファ版テストについての説明が必要です。
-
[解決済み] EclipseでADTを更新するにはどうしたらいいですか?
-
[解決済み] ビルドフレーバーによってアプリ名が異なる?
-
[解決済み] RelativeLayout は LinearLayout よりも高価ですか?
-
[解決済み] RelativeLayoutレイアウトパラメータをxmlではなくコードで設定するには?
-
[解決済み] Android Studio 1.0とエラー "Library projects cannot set applicationId "について
-
[解決済み] Android Studio - Lollipop, ADB, & Genymotionの問題。デバイスが表示されない "adb server is out of date... 殺し合い..." 重複] [重複