In Jetpack Compose Glimmer ist die Icon Komponente ein UI‑Element zum
Rendern einfarbiger Symbole. Symbole werden intelligent getönt und skaliert, so
dass sie lesbar bleiben und visuell mit dem GlimmerTheme übereinstimmen.
Größen
Standardmäßig haben Symbole die Größe, die von LocalIconSize bereitgestellt wird. Sie können aber auch
eine bestimmte Größe festlegen, indem Sie eine der drei Symbolgrößen verwenden. Diese Größen werden standardmäßig auch für die folgenden Kontexte verwendet:
| Größentoken | Standardnutzung |
|---|---|
|
Für Standardlistenelemente oder kleine Chips. |
|
Für eigenständige Symbole und Titelchips. |
|
Für Komponenten mit hoher Gewichtung wie Karten. |
Symbolquellen
Für Symbole können ImageVector, ImageBitmap oder Painter als
Quelle verwendet werden. Wenn Sie eigene Symbole definieren, verwenden Sie nach Möglichkeit ImageVector, um eine scharfe Darstellung in jeder Größe auf Displaybrillen zu gewährleisten.
Farbe und Tönung
- Automatische Tönung: Die Farbe des Symbols wird basierend auf der
LocalContentColorder übergeordneten Oberfläche aufgelöstLocalContentColorder übergeordneten Oberfläche, z. B.surfaceoderButton. - Manuelle Tönung: Verwenden Sie den
tintParameter, um eine bestimmte Farbe anzuwenden. - Mehrfarbige Assets: Für Symbole, die nicht getönt werden sollen (wie
mehrfarbige Markenlogos), legen Sie
tint = Color.Unspecifiedfest. - Allgemeine Bilder: Für Fotos oder allgemeine Bilder, die nicht den Regeln für Symbol
größe und ‑tönung entsprechen, verwenden Sie stattdessen das Standard
androidx.compose.foundation.Image.
Beispiel: Einfaches Symbol
Mit dem folgenden Code wird ein einfaches Symbol erstellt:
@Composable fun IconSample() { Icon(FavoriteIcon, contentDescription = "Localized description") }
Beispiel: Symbole mit Farbe
Mit dem folgenden Code wird ein farbiges Symbol mit der Primärfarbe des Designs erstellt:
@Composable fun ColoredIconSample() { Icon( FavoriteIcon, tint = GlimmerTheme.colors.primary, contentDescription = "Localized description", ) }
Beispiel: Symbole mit unterschiedlichen Größen
Mit dem folgenden Code wird ein Symbol erstellt, das eine bestimmte Größe hat:
@Composable fun SizedIconSample() { Icon( FavoriteIcon, contentDescription = "Localized description", modifier = Modifier.size(GlimmerTheme.iconSizes.large), ) }
Wichtige Informationen zum Code
- Die Größe des Symbols wird mit
GlimmerTheme.iconSizesund einem Modifikator angepasst. Für Symbole ist der StandardwertGlimmerTheme.iconSizes.medium. Verwenden Sie diese Größen anstelle von fest codierten Werten, um die Konsistenz in der gesamten UI zu gewährleisten. - Stellt eine lokalisierte
contentDescriptionfür das Symbol bereit. Geben Sie diese Beschreibungen immer an, es sei denn, das Symbol ist rein dekorativ.