ThemeSwitchIcon

sealed interface ThemeSwitchIcon

Defines theme-aware icons for the theme switch button.

Implementations of this interface provide icons that automatically adapt to the current theme state. Different implementations support various icon sources including vector graphics, raster images, and Lottie animations.

Inheritors

Types

Link copied to clipboard
data class DuoRasterPainter(val darkPainter: Painter, val lightPainter: Painter) : ThemeSwitchIcon

A pair of raster painters that switch based on the current theme.

Link copied to clipboard
data class DuoVector(val darkVector: ImageVector, val lightVector: ImageVector) : ThemeSwitchIcon

A pair of vector icons that switch based on the current theme.

Link copied to clipboard

A Lottie animation icon that animates based on the current theme state.

Link copied to clipboard

A single raster painter that remains constant regardless of theme state.

Link copied to clipboard
value class Vector(val imageVector: ImageVector) : ThemeSwitchIcon

A single vector icon that remains constant regardless of theme state.

Functions

Link copied to clipboard
abstract fun Icon(state: ThemeAnimationState, tint: Color, modifier: Modifier = Modifier, contentDescription: String? = null)

Renders the icon based on the current theme state.