Skip to main content
161

Search Lumen

Find components, APIs, guides, and recipes.

GitHub
Android docs
ActionsAndroid

Icon button

Trigger a native action with a required accessible label and platform icon.

Public APILumenIconButtonAndroid / Compose

Native example

Use Icon button

Use for compact, familiar actions. Prefer a text button when the icon alone would make the action difficult to understand.

Icon button rendered in the Android phone emulator Lumen playground
Verified runtime captureAndroid phone emulator
kotlin
LumenIconButton(
    name = LumenIconName.Settings,
    contentDescription = "Settings",
    onClick = ::openSettings
)

Android icon catalog

Choose an icon name

Search the visual catalogs, copy the displayed Lumen name, then use the Android spelling below. The package includes both catalogs without another native dependency.

Brand icons

Use the platform form LumenIconName.BrandGithub. Brand marks retain their Font Awesome attribution and may be protected trademarks.

Browse all brand icon names

Platform or product artwork

Use imageVector = Icons.Default.Search when the operating system or your product owns the symbol instead of Lumen.

Reference

Public API

The primary shared and platform-specific options exposed by LumenIconButton.

APIValues or typeDefaultDescription
name or imageVectorLumenIconName or ImageVectorExactly one requiredSelects a generated catalog icon or a platform-specific custom graphic.
contentDescriptionStringRequiredProvides the accessible action name.
onClickCallbackRequiredRuns the action.
intentprimary · secondary · quiet · dangerquietSelects the semantic action treatment.
sizesm · md · lgmdSelects shared icon and control metrics.
enabledBooleantrueControls native disabled state.

Native behavior

Design and accessibility

When to use it

Use for compact, familiar actions. Prefer a text button when the icon alone would make the action difficult to understand.

Accessibility

The accessible label is required and becomes the native button name. Touch targets remain at least 44 units on mobile.

Shared component

Available on other platforms

React NativeApple / SwiftUI
Android docsCompose module