State of Compose 2023 results are in! Click here to learn more

← Back to Material 3 Compose

Icon

Component
in
Material 3
. Since 1.0.0

Overview

Code Examples

Video

A Material Design icon component that draws imageVector using tint, with a default value of LocalContentColor. If imageVector has no intrinsic size, this component will use the recommended default size. Icon is an opinionated component designed to be used with single-color icons so that they can be tinted correctly for the component they are placed in. For multicolored icons and icons that should not be tinted, use Color.Unspecified for tint. For generic images that should not be tinted, and do not follow the recommended icon size, use the generic androidx.compose.foundation.Image instead. For a clickable icon, see IconButton.

To learn more about icons, see Material Design icons(https://m3.material.io/styles/icons/overview)

@param imageVector ImageVector to draw inside this icon @param contentDescription text used by accessibility services to describe what this icon represents. This should always be gprovided unless this icon is used for decorative purposes, and does not represent a meaningful action that a user can take. This text should be localized, such as by using androidx.compose.ui.res.stringResource or similar @param modifier the Modifier to be applied to this icon @param tint tint to be applied to imageVector. If Color.Unspecified is provided, then no tint is applied.

Overloads

Icon

@Composable
fun Icon(
    imageVector: ImageVector,
    contentDescription: String?,
    modifier: Modifier = Modifier,
    tint: Color = LocalContentColor.current
)

Parameters

NameDescription
imageVectorImageVector to draw inside this icon
contentDescriptiontext used by accessibility services to describe what this icon represents. This should always be gprovided unless this icon is used for decorative purposes, and does not represent a meaningful action that a user can take. This text should be localized, such as by using androidx.compose.ui.res.stringResource or similar
modifierthe Modifier to be applied to this icon
tinttint to be applied to imageVector. If Color.Unspecified is provided, then no tint is applied

Icon

@Composable
fun Icon(
    bitmap: ImageBitmap,
    contentDescription: String?,
    modifier: Modifier = Modifier,
    tint: Color = LocalContentColor.current
)

Parameters

NameDescription
bitmapImageBitmap to draw inside this icon
contentDescriptiontext used by accessibility services to describe what this icon represents. This should always be provided unless this icon is used for decorative purposes, and does not represent a meaningful action that a user can take. This text should be localized, such as by using androidx.compose.ui.res.stringResource or similar
modifierthe Modifier to be applied to this icon
tinttint to be applied to bitmap. If Color.Unspecified is provided, then no tint is applied

Icon

@Composable
fun Icon(
    painter: Painter,
    contentDescription: String?,
    modifier: Modifier = Modifier,
    tint: Color = LocalContentColor.current
)

Parameters

NameDescription
painterPainter to draw inside this icon
contentDescriptiontext used by accessibility services to describe what this icon represents. This should always be provided unless this icon is used for decorative purposes, and does not represent a meaningful action that a user can take. This text should be localized, such as by using androidx.compose.ui.res.stringResource or similar
modifierthe Modifier to be applied to this icon
tinttint to be applied to painter. If Color.Unspecified is provided, then no tint is applied