diff --git a/dotlottie/src/main/java/com/lottiefiles/dotlottie/core/compose/ui/DotLottieAnimation.kt b/dotlottie/src/main/java/com/lottiefiles/dotlottie/core/compose/ui/DotLottieAnimation.kt index c212af1..ffd117a 100644 --- a/dotlottie/src/main/java/com/lottiefiles/dotlottie/core/compose/ui/DotLottieAnimation.kt +++ b/dotlottie/src/main/java/com/lottiefiles/dotlottie/core/compose/ui/DotLottieAnimation.kt @@ -22,6 +22,7 @@ import androidx.compose.ui.graphics.drawscope.drawIntoCanvas import androidx.compose.ui.graphics.nativeCanvas import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalInspectionMode import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.toSize import androidx.core.graphics.createBitmap @@ -69,6 +70,12 @@ fun DotLottieAnimation( threads: UInt? = null, loopCount: UInt = 0u, ) { + // Ignores rendering in Android Studio design preview. + if (LocalInspectionMode.current) { + Box(modifier = modifier.defaultMinSize(200.dp, 200.dp)) + return + } + val context = LocalContext.current remember(context) { DotLottieJNI.ensureAndroidInitialized(context); Unit } diff --git a/dotlottie/src/main/java/com/lottiefiles/dotlottie/core/compose/ui/DotLottieGLAnimation.kt b/dotlottie/src/main/java/com/lottiefiles/dotlottie/core/compose/ui/DotLottieGLAnimation.kt index 48bbe33..7b14fb7 100644 --- a/dotlottie/src/main/java/com/lottiefiles/dotlottie/core/compose/ui/DotLottieGLAnimation.kt +++ b/dotlottie/src/main/java/com/lottiefiles/dotlottie/core/compose/ui/DotLottieGLAnimation.kt @@ -1,7 +1,11 @@ package com.lottiefiles.dotlottie.core.compose.ui +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalInspectionMode +import androidx.compose.ui.unit.dp import com.dotlottie.dlplayer.Layout import com.dotlottie.dlplayer.Mode import com.dotlottie.dlplayer.createDefaultLayout @@ -40,6 +44,12 @@ fun DotLottieGLAnimation( threads: UInt? = null, loopCount: UInt = 0u, ) { + // Ignores rendering in Android Studio design preview. + if (LocalInspectionMode.current) { + Box(modifier = modifier.defaultMinSize(200.dp, 200.dp)) + return + } + // TODO: Add HardwareBuffer support for API 31+ DotLottieGLSurfaceAnimation( modifier = modifier,