Coverage Summary for Class: AnimationKt (ui.lottie)
Class |
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
AnimationKt |
0%
(0/4)
|
|
0%
(0/12)
|
0%
(0/239)
|
AnimationKt$lottie$1$1 |
0%
(0/1)
|
|
0%
(0/1)
|
0%
(0/37)
|
Total |
0%
(0/5)
|
|
0%
(0/13)
|
0%
(0/276)
|
package ui.lottie
import KottieAnimation
import androidx.compose.runtime.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.Modifier
import dev.suresh.compose.res.Res
import kottieComposition.KottieCompositionSpec
import kottieComposition.animateKottieCompositionAsState
import kottieComposition.rememberKottieComposition
import org.jetbrains.compose.resources.ExperimentalResourceApi
@OptIn(ExperimentalResourceApi::class)
@Composable
fun lottie(modifier: Modifier = Modifier, res: String = "files/lottie/anim.json") {
var afterEffectAnim by remember { mutableStateOf("") }
LaunchedEffect(Unit) { afterEffectAnim = Res.readBytes(res).decodeToString() }
val composition = rememberKottieComposition(spec = KottieCompositionSpec.File(afterEffectAnim))
val animationState by
animateKottieCompositionAsState(
composition = composition,
isPlaying = true,
)
KottieAnimation(
modifier = modifier,
composition = composition,
progress = { animationState.progress },
)
}