2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LottieアニメーションをJetpack Composeで使用する

Posted at

Jetpack Compose自体もUIのアニメーションはシンプルに実装できるフレームワークですが、Lottieを使うとより高度なアニメーションをデザイナー主導でリッチに表現することが手軽にできるようになります。

LottieはJetpack Composeにも対応しており、Jetpack Composeで組み立てているUIの中に簡単にLottieアニメーションを組み込むことができます。

まず、app/build.gradleにLottieの依存を追加します。

dependencies {
    implementation "com.airbnb.android:lottie-compose:4.2.1"
}

そして、src/main/res/raw/ディレクトリがなければ作成して、その中にLottieのJSONファイルを入れます。この記事ではこのファイルをmy_lottie_file.jsonだとして扱います。

あとは、Lottieアニメーションを配置したい場所にLottieAnimationComposableを入れるだけです。

@Composable
fun MyUi() {
    val composition by rememberLottieComposition(LottieCompositionSpec.RawRes(R.raw.my_lottie_file))
    LottieAnimation(
        composition = composition,
        iterations = LottieConstants.IterateForever,
    )
}

公式のリリースノートにいくつかの使い方の例が載っています。

上で紹介したコードはアニメーションを自動で開始して無限に繰り返しますが、一度だけアニメーションを再生したい場合はiterationsを省略(デフォルト値の1を使用)すれば良いですし、もっと細かくアニメーションを制御したかったらanimateLottieCompositionAsStateを使うと良いみたいです。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?