この記事は Androidスマホ用のアプリ開発の中で、
今後の開発で再使用性が高いと思われるコーディングをまとめたものです。
Java での開発経験、XML構文規則、Android のアプリ開発経験がある方を対象としています。
Android のアプリ開発でお役にたててれば、嬉しいです。
(これから Android のアプリ開発や Java での開発を始めたい方への案内は、記事の最後で紹介します)
ふと思いついたアイデアの書き留めや備忘録に♪
ポイント
Androidアプリの画面遷移(アクティビティ遷移)でアニメーションさせる場合、overridePendingTransitionを使用します。
しかし、予測型「戻る」アニメーションのサポートに伴い、Android14から非推奨になりました。
今回は、非推奨になったoverridePendingTransitionをAndroid14以降に対応する実装方法を紹介いたします。
アクティビティ遷移のアニメーション指定
Android13以前のアクティビティ遷移では、Intentに遷移先のアクティビティをセットし、startActivityを実行します。
画面遷移のアニメーションをoverridePendingTransitionで指定し、遷移元のアクティビティを終了します。
:
Intent intent = new Intent(context, SystemActivity.class);
startActivity(intent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
finish();
:
ポイントは、画面遷移のアニメーションを遷移元で指定することです。
Android14からのアクティビティ遷移のアニメーション指定
Android14以降のアクティビティ遷移のアニメーション指定は遷移先で行います。
アニメーション指定はoverrideActivityTransitionを使用します。
アプリをAndroid13以前に対応する場合は、Android13以前のアクティビティ遷移のアニメーション指定に加え、Android14以降のアクティビティ遷移のアニメーション指定の両方が必要になります。
◎遷移元のアニメーション指定
:
Intent intent = new Intent(context, SystemActivity.class);
startActivity(intent);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
finish();
:
コードを移行する場合、overridePendingTransitionはAndroid14未満で実行するよう変更します、
◎遷移先のアニメーション指定
:
// onCreate //
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
overrideActivityTransition(Activity.OVERRIDE_TRANSITION_OPEN, android.R.anim.fade_in, android.R.anim.fade_out);
overrideActivityTransition(Activity.OVERRIDE_TRANSITION_CLOSE, android.R.anim.fade_out, android.R.anim.fade_in);
}
:
Android14以降では、アクティビティ開始直後にアニメーション指定します。
今回は、ここまでです。
非推奨のoverridePendingTransitionに対応しているAndroidアプリです。
誤字脱字、意味不明でわかりづらい、
もっと詳しく知りたいなどのご意見は、
このページの最後にあるコメントか、
こちらから、お願いいたします♪
ポチッとして頂けると、
次のコンテンツを作成する励みになります♪
これからAndroidのアプリ開発やJavaでの開発を始めたい方へ
アプリケーション開発経験がない方や、アプリケーション開発経験がある方でも、Java や C# などのオブジェクト指向言語が初めての方は、Android のアプリ開発ができるようになるには、かなりの時間がかかります。
オンラインスクールでの習得を、強くおススメします。
未経験者からシステムエンジニアを目指すのに最適です。まずは無料相談から♪
未経験者からプログラマーを目指すのに最適です。まずは無料カウンセリングから♪
カリキュラムとサポートがしっかりしています。お得なキャンペーンとかいろいろやっています♪
ゲーム系に強いスクール、UnityやUnrealEngineを習得するのに最適です。まずは無料オンライン相談から♪
参考になったら、💛をポッチとしてね♪