{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

AnimatedVectorPainterResourcesKt

public final class AnimatedVectorPainterResourcesKt


Summary

Public methods

static final @NonNull Painter

Creates and remembers a Painter to render an AnimatedImageVector.

Public methods

rememberAnimatedVectorPainter

@ExperimentalAnimationGraphicsApi
@Composable
public static final @NonNull Painter rememberAnimatedVectorPainter(
    @NonNull AnimatedImageVector animatedImageVector,
    boolean atEnd
)

Creates and remembers a Painter to render an AnimatedImageVector. It renders the image either at the start or the end of all the animations depending on the atEnd. Changes to atEnd are animated.

import androidx.annotation.DrawableRes
import androidx.compose.animation.graphics.ExperimentalAnimationGraphicsApi
import androidx.compose.animation.graphics.res.animatedVectorResource
import androidx.compose.animation.graphics.res.rememberAnimatedVectorPainter
import androidx.compose.animation.graphics.vector.AnimatedImageVector
import androidx.compose.foundation.Image
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp

@OptIn(ExperimentalAnimationGraphicsApi::class)
@Composable
fun AnimatedVector(@DrawableRes drawableId: Int) {
    val image = AnimatedImageVector.animatedVectorResource(drawableId)
    var atEnd by remember { mutableStateOf(false) }
    Image(
        painter = rememberAnimatedVectorPainter(image, atEnd),
        contentDescription = "Your content description",
        modifier = Modifier.size(64.dp).clickable {
            atEnd = !atEnd
        }
    )
}
Parameters
boolean atEnd

Whether the animated vector should be rendered at the end of all its animations.