iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【Kotlin】Fragment から Activity に画面遷移する

1.まずは遷移先の Activity を新規に作成します。

2.次に AndroidManifest に遷移先の Activity を追加します。なお、遷移元の Activity は既に追加されているものとします。

application タグの中に、新しく activity タグを追加し、android:name で遷移先の Activity を指定します。

<activity
        android:name=".DetailsActivity"
        android:label="@string/app_name" >
</activity>

2.最後に Fragment から Activity への遷移処理を記述すれば完了です。

startActivity(Intent(context, DetailsActivity::class.java))

また、Activity の遷移アニメーションを変更したい場合は下記のように、ActivityoverridePendingTransition メソッドを使用することで任意のアニメーションで、Activity の遷移を実現することができます。第一引数には遷移先の enter アニメーションを、第二引数には遷移下の exit アニメーションをそれぞれ指定します。

startActivity(Intent(context, DetailsActivity::class.java))
activity?.overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out)

これらのアニメーションをカスタムしたい場合は、res/anim ディレクトリにカスタムアニメーションのリソースファイルを作成します。下記は右から左へと遷移するカスタムアニメーションの例になります。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="100%p"
        android:toXDelta="0"
        android:duration="300"
        />
</set>

参考

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com