dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url=uri("https://jitpack.io") }
maven { url=uri ("https://oss.sonatype.org/content/repositories/snapshots/") }
}
}
maven { url=uri ("https://oss.sonatype.org/content/repositories/snapshots/") }를 추가
[versions]
lottieCompose = "6.6.0"
[libraries]
lottie-compose = { module = "com.airbnb.android:lottie-compose", version.ref = "lottieCompose" }
dependencies {
...
// lottie
implementation (libs.lottie.compose)
}
// compose
// 선언
val composition by rememberLottieComposition(
LottieCompositionSpec.Url("https://lottie.host/4add9811-6ad1-4021-9a41-b72f1f9e014a/eqSh7vm4jN.lottie")
)
val lottieAnimatable = rememberLottieAnimatable()
LaunchedEffect(composition) {
lottieAnimatable.animate(
composition = composition,
iterations = LottieConstants.IterateForever
)
}
// 적용
LottieAnimation(
composition = composition,
progress = lottieAnimatable.progress,
modifier = Modifier.fillMaxSize()
)
// stop
GoogleAuthButton(signInVm) { auth: FirebaseAuth ->
CoroutineScope(Dispatchers.Main).launch {
lottieAnimatable.snapTo(progress = 0f)
}
doSigned(auth)
}// GoogleAuthButton
중요 나갈때 stop 하지 않으면 scope 내에서 악영향을 줌.