Класс Shape
Интерфейс Shape описывает контур
прямоугольника элемента в Compose.
Его передают в параметр shape
у методов
background,
clip
и border.
Частые реализации -
RoundedCornerShape
и
CutCornerShape;
полный список типов в SDK здесь не перечисляем.
Синтаксис
RoundedCornerShape(8.dp)
Пример
Давайте обрежем фон по скруглённому контуру:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val outline = RoundedCornerShape(16.dp)
Box(
modifier = Modifier
.size(120.dp)
.background(Color.Cyan, shape = outline),
) {
Text(text = "abcde")
}
}
}
}
На экране заливка повторит скруглённый прямоугольник, а не острые углы.
Смотрите также
-
класс
RoundedCornerShape,
скруглённые углы в dp -
класс
CutCornerShape,
срезанные углы в dp -
метод
clip,
который обрезает содержимое по Shape -
метод
background,
который рисует фон по Shape