Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
238 of 502 menu
◀ ▶

Класс Shapes

Класс Shapes хранит пять уровней скругления. extraSmall - для мелких chip и полей, small - для кнопок, medium - для карточек, large и extraLarge - для крупных панелей и листов. Каждое поле - форма, чаще RoundedCornerShape. Набор передают в MaterialTheme, компоненты читают MaterialTheme.shapes.medium и похожие поля. Отдельные уроки на каждый размер не делают.

Синтаксис

MaterialTheme.shapes.medium

Пример

Давайте нарисуем карточку со стандартным medium:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Card import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { MaterialTheme { Card(shape = MaterialTheme.shapes.medium) { Text(text = "abcde") } } } } }

На экране карточка с текстом "abcde" получит скругление medium из Shapes.

Пример

Давайте зададим своё medium через RoundedCornerShape:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.Card import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Shapes import androidx.compose.material3.Text import androidx.compose.ui.unit.dp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val shapes = Shapes( medium = RoundedCornerShape(24.dp), small = RoundedCornerShape(8.dp), ) MaterialTheme(shapes = shapes) { Card(shape = MaterialTheme.shapes.medium) { Text(text = "12345") } } } } }

На экране карточка станет сильнее скруглённой, чем при Shapes по умолчанию.

Смотрите также

  • класс RoundedCornerShape,
    которым задают поля Shapes
  • функция Card,
    которая берёт shape из темы
  • функция MaterialTheme,
    которая раздаёт shapes дочерним элементам
  • метод clip,
    который обрезает composable по Shape
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить