В Jetpack Compose Glimmer для определения визуальных границ и степени закругления поверхностей используются фигуры. Класс Shapes предоставляет различные уровни закругления, предназначенные для разных типов компонентов.

Категории форм
Класс GlimmerTheme определяет три стандартных размера фигур:
- Маленький : фигура с четырьмя одинаковыми углами. Используется для таких элементов, как открытки. По умолчанию это фигура
RoundedCornerShapeразмером 24.dp. - Средний размер : фигура с четырьмя одинаковыми углами, размер которых находится между малым и большим. Это наиболее часто используемая фигура, и она используется по умолчанию в Surface. По умолчанию это фигура
RoundedCornerShapeразмером 36.dp. - Большой : Фигура с четырьмя полностью закругленными углами. Эта фигура используется для таких элементов, как кнопки. По умолчанию это
CircleShape.
Пример: Получить фигуры из GlimmerTheme и применить их к компонентам.
Сначала получите определенные фигуры из GlimmerTheme.shapes :
@Composable fun ShapesSample() { val shapes = GlimmerTheme.shapes GlimmerLazyColumn { item { ShapeItem("small", shape = shapes.small) } item { ShapeItem("medium", shape = shapes.medium) } item { ShapeItem("large", shape = shapes.large) } } }
Далее вы можете применить эти фигуры к некоторым компонентам:
@Composable private fun ShapeItem(name: String, shape: Shape, modifier: Modifier = Modifier) { Box( modifier.aspectRatio(2.5f).fillMaxWidth().surface(shape = shape), contentAlignment = Alignment.Center, ) { Text(name) } }
Настройте формы
Класс Shapes имеет @Immutable . Вы можете создать копию существующих фигур темы и переопределить определенные значения, используя функцию копирования. Это позволит сохранить структуру темы, одновременно настраивая радиусы в соответствии с фирменным стилем вашего приложения.
Пример: Переопределение значений конкретной формы.
Следующий код переопределяет определенные значения параметров формы:
val customShapes = GlimmerTheme.shapes.copy(
small = RoundedCornerShape(12.dp),
medium = RoundedCornerShape(20.dp)
)
Значения по умолчанию
Если в настройках GlimmerTheme не указано иное, система по умолчанию использует следующие значения:
| Токен | Форма по умолчанию | Размер или радиус |
|---|---|---|
| | 24.dp |
| | 36.dp |
| | Полностью закругленный |