В Jetpack Compose Glimmer Button представляет собой интерактивный компонент, оптимизированный для ввода с помощью очков с дисплеем, обеспечивающий четкую визуальную обратную связь через свои состояния, чтобы направлять действия пользователя.
Кнопки созданы на основе системы поверхностей Jetpack Compose Glimmer, которая автоматически обрабатывает физические свойства, такие как границы и глубина.
Стандартная кнопка содержит текстовую метку и дополнительные значки. Ее можно использовать для основных или второстепенных действий. Также существуют специализированные кнопки, такие как кнопки со значками и кнопки-переключатели , которые определены как отдельные компоненты в Jetpack Compose Glimmer.
По умолчанию

Большой

Анатомия
Кнопка состоит из контейнера и метки, с дополнительными значками в начале и конце.
| Часть | Описание |
|---|---|
Контейнер | Фоновая поверхность кнопки. |
Этикетка | Текст, описывающий действие. |
Значок (необязательно) | Опережающие или замыкающие визуальные индикаторы. |
Размеры
Кнопки Jetpack Compose Glimmer поддерживают два варианта размера. Они влияют на минимальную высоту и внутренний отступ.
| Размер | Минимальная высота | Использование по умолчанию |
|---|---|---|
Середина | 48.dp | Стандартные действия и списки (по умолчанию). |
Большой | 72.dp | Действия, на которые делается сильный акцент, или основные точки входа на экран. |
Штаты
Кнопки в Jetpack Compose Glimmer меняют свой внешний вид, чтобы сообщить о своем состоянии.
- Включено : состояние по умолчанию для интерактивной кнопки.
- В режиме фокусировки : При фокусировке кнопка применяет эффект
GlimmerTheme.depthEffectLevels.level1и подсветку границы в режиме фокусировки. - При нажатии : После активации на поверхность наносится полупрозрачное белое покрытие.
- Отключено : кнопка не реагирует на ввод, и её внешний вид изменён.
Настройки кнопок по умолчанию
Для стандартных кнопок применяются следующие значения по умолчанию:
- По умолчанию кнопки используют свойство
GlimmerTheme.typography.bodySmall. Убедитесь, что текст внутри кнопок лаконичен и четко описывает действие. - Форма кнопки по умолчанию —
GlimmerTheme.shapes.large. Такое единообразное закругление помогает пользователям различать кнопки на разных экранах очков.
Пример: Кнопка с текстом
Следующий код создает стандартную кнопку с текстом:
@Composable fun ButtonSample() { Button(onClick = {}) { Text("Send") } }
Пример: Кнопки с иконками в начале и конце текста.
Также можно добавить значки в начало (используя leadingIcon ) или конец (используя trailingIcon ) текста для предоставления дополнительного контекста.
Следующий код создает кнопку с иконкой, расположенной перед ней:
@Composable fun ButtonWithLeadingIconSample() { Button(onClick = {}, leadingIcon = { Icon(FavoriteIcon, "Localized description") }) { Text("Send") } }