В Jetpack Compose Glimmer IconButton – это компактный интерактивный компонент, который позволяет выполнять дополнительные действия одним нажатием.
Кнопки-значки меньше стандартных кнопок, но у них есть физические границы, чтобы с ними было удобно взаимодействовать на дисплее очков.
Для других случаев можно использовать стандартные кнопки и переключатели.
Размеры и параметры
| Элемент | Параметр |
|---|---|
Минимальный размер контейнера |
48 x 48 dp |
Внутренний размер значка |
32 x 32 dp |
Отступ контента по умолчанию |
Штаты
Кнопки со значками в Jetpack Compose Glimmer меняют внешний вид, чтобы показать свое состояние.
- Включено. Интерактивный режим по умолчанию.
- С фокусом. Применяется
GlimmerTheme.depthEffectLevels.level1и выделение границы. - Нажатие. На поверхность накладывается полупрозрачный белый слой.
- Отключено. Кнопка неактивна, а визуальная обратная связь удалена.
Значок кнопки по умолчанию
Для кнопок со значками действуют следующие настройки по умолчанию:
- Форма. По умолчанию выбрана форма
GlimmerTheme.shapes.large(обычно круглая). - Цвет: по умолчанию
GlimmerTheme.colors.surface. - Цвет контента: автоматически рассчитывается на основе цвета фона, если не задан явно.
- Внутренние отступы – расстояние между значком и краем контейнера по умолчанию.
- Минимальный размер – фиксированное значение
48.dp, чтобы кнопки не становились слишком маленькими. - Размер значков – по умолчанию
GlimmerTheme.iconSizes.small(32.dp).
Пример: кнопка со значком
Следующий код создает кнопку со значком и характеристиками по умолчанию:
@Composable fun IconButtonSample() { IconButton(onClick = { /* Handle action */ }) { Icon(FavoriteIcon, contentDescription = "Localized description") } }