Package-level declarations
Functions
Link copied to clipboard
fun AnimatedMediaButton(onClick: () -> Unit, compositionResult: LottieCompositionResult, contentDescription: String, modifier: Modifier = Modifier, onRepeatableClick: () -> Unit? = null, onRepeatableClickEnd: () -> Unit? = null, enabled: Boolean = true, colors: IconButtonColors = MediaButtonDefaults.mediaButtonDefaultColors(), interactionSource: MutableInteractionSource? = null, buttonPadding: PaddingValues = PaddingValues(0.dp), iconSize: Dp = IconButtonDefaults.LargeIconSize, iconAlign: Alignment = Alignment.Center)
A button that animates a Lottie composition when clicked.
Link copied to clipboard
fun AnimatedMediaControlButtons(onPlayButtonClick: () -> Unit, onPauseButtonClick: () -> Unit, playPauseButtonEnabled: Boolean, playing: Boolean, leftButton: @Composable ButtonGroupScope.(MutableInteractionSource) -> Unit, rightButton: @Composable ButtonGroupScope.(MutableInteractionSource) -> Unit, modifier: Modifier = Modifier, colorScheme: ColorScheme = MaterialTheme.colorScheme, trackPositionUiModel: TrackPositionUiModel, rotateProgressIndicator: Flow<Unit> = flowOf())
Standard and custom action media control buttons, showing a PlayPauseProgressButton as the middle button, and allowing custom buttons to be passed for left and right buttons.
fun AnimatedMediaControlButtons(onPlayButtonClick: () -> Unit, onPauseButtonClick: () -> Unit, playPauseButtonEnabled: Boolean, playing: Boolean, onSeekToPreviousButtonClick: () -> Unit, seekToPreviousButtonEnabled: Boolean, onSeekToNextButtonClick: () -> Unit, seekToNextButtonEnabled: Boolean, modifier: Modifier = Modifier, colorScheme: ColorScheme = MaterialTheme.colorScheme, onSeekToPreviousRepeatableClick: () -> Unit? = null, onSeekToPreviousRepeatableClickEnd: () -> Unit? = null, onSeekToNextRepeatableClick: () -> Unit? = null, onSeekToNextRepeatableClickEnd: () -> Unit? = null, trackPositionUiModel: TrackPositionUiModel, rotateProgressIndicator: Flow<Unit> = flowOf())
Standard media control buttons, showing SeekToPreviousButton, PlayPauseProgressButton and SeekToNextButton.
Link copied to clipboard
fun AnimatedMediaInfoDisplay(media: MediaUiModel?, loading: Boolean, modifier: Modifier = Modifier, colorScheme: ColorScheme = MaterialTheme.colorScheme)
Animated MediaDisplay implementation for PlayerScreen including player status.
Link copied to clipboard
fun AnimatedPlayPauseButton(onPlayClick: () -> Unit, onPauseClick: () -> Unit, playing: Boolean, modifier: Modifier = Modifier, shape: Shape = CircleShape, colorScheme: ColorScheme = MaterialTheme.colorScheme, interactionSource: MutableInteractionSource? = null, enabled: Boolean = true, progressIndicator: @Composable () -> Unit = {}, content: @Composable () -> Unit = { AnimatedPlayPauseButtonContent(playing) })
A button that animates between a play and pause icon.
Link copied to clipboard
fun AnimatedPlayPauseButtonContent(playing: Boolean, modifier: Modifier = Modifier, iconSize: Dp = IconButtonDefaults.LargeIconSize)
Default content for the play and pause button that animates between a play and pause icon.
Link copied to clipboard
fun AnimatedPlayPauseProgressButton(onPlayClick: () -> Unit, onPauseClick: () -> Unit, playing: Boolean, trackPositionUiModel: TrackPositionUiModel, modifier: Modifier = Modifier, colorScheme: ColorScheme = MaterialTheme.colorScheme, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null, isAnyButtonPressed: State<Boolean> = remember { mutableStateOf(false) }, progressStrokeWidth: Dp = MIDDLE_BUTTON_PROGRESS_STROKE_WIDTH, rotateProgressIndicator: Flow<Unit> = flowOf(), content: @Composable () -> Unit = { AnimatedPlayPauseButtonContent(playing) })
A button that animates between a play and pause icon.
Link copied to clipboard
fun AnimatedSeekToNextButton(onClick: () -> Unit, modifier: Modifier = Modifier, onRepeatableClick: () -> Unit? = null, onRepeatableClickEnd: () -> Unit? = null, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null, buttonPadding: PaddingValues = PaddingValues(0.dp), colors: IconButtonColors = MediaButtonDefaults.mediaButtonDefaultColors(), iconSize: Dp = IconButtonDefaults.LargeIconSize)
Link copied to clipboard
fun AnimatedSeekToPreviousButton(onClick: () -> Unit, modifier: Modifier = Modifier, onRepeatableClick: () -> Unit? = null, onRepeatableClickEnd: () -> Unit? = null, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null, buttonPadding: PaddingValues = PaddingValues(0.dp), colors: IconButtonColors = MediaButtonDefaults.mediaButtonDefaultColors(), iconSize: Dp = IconButtonDefaults.LargeIconSize)
Link copied to clipboard
fun LottieAnimationWithPlaceholder(lottieCompositionResult: LottieCompositionResult, progress: () -> Float, placeholder: ImageVector, contentDescription: String, modifier: Modifier = Modifier, dynamicProperties: LottieDynamicProperties? = null)
A lottie animation with placeholder.
Link copied to clipboard
fun MarqueeTextMediaDisplay(modifier: Modifier = Modifier, title: String? = null, artist: String? = null, titleIcon: Paintable? = null, enterTransitionDelay: Int = 60, subtextTransitionDelay: Int = 30, @FloatRange(from = 0.0, to = 1.0) transitionLength: Float = 0.125f, colorScheme: ColorScheme = MaterialTheme.colorScheme)
An animated text only display showing scrolling title and still artist in two separated rows.