Класс CutCornerShape
Класс CutCornerShape реализует
Shape
прямоугольником, у которого углы срезаны по прямой.
Размер среза задают в
Dp
для всех углов сразу или для каждого угла отдельно.
Форму передают в
background
и соседние методы Modifier.
Синтаксис
CutCornerShape(10.dp)
Пример
Давайте зальём блок со срезом 10 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.CutCornerShape
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 {
Box(
modifier = Modifier
.size(120.dp)
.background(
color = Color.Yellow,
shape = CutCornerShape(10.dp),
),
) {
Text(text = "abcde")
}
}
}
}
На экране жёлтая плашка получит четыре срезанных угла.
Пример
Давайте срежем только верхние углы:
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.CutCornerShape
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 shape = CutCornerShape(
topStart = 16.dp,
topEnd = 16.dp,
)
Box(
modifier = Modifier
.size(width = 140.dp, height = 80.dp)
.background(Color.Red, shape = shape),
) {
Text(text = "12345")
}
}
}
}
На экране верх блока будет с косыми углами, низ останется прямым.
Смотрите также
-
класс
RoundedCornerShape,
скругление вместо среза -
класс
Shape,
базовый тип контура -
метод
clip,
обрезка по CutCornerShape -
класс
Color,
цвет заливки внутри формы