
평행사변형
ParallelogramShape(
skewed = 0.2f,
modifier = Modifier.fillMaxSize()
)
그리기
Canvas(
modifier = Modifier
) {
val path = Path()
val width = size.width
val height = size.height
val skewedWidth = skewed * width
path.apply {
moveTo(skewedWidth, 0f)
lineTo(width, 0f)
lineTo(width - skewedWidth, height)
lineTo(0f, height)
lineTo(skewedWidth, 0f)
close()
}
drawPath(
path = path,
color = Color.Gray
)
}
마름모
RhombusShape(
modifier = Modifier.fillMaxSize()
)
그리기
Canvas(
modifier = Modifier
) {
val path = Path()
val width = size.width
val height = size.height
val centerX = width / 2
val centerY = height / 2
path.apply {
moveTo(centerX, 0f)
lineTo(width, centerY)
lineTo(centerX, height)
lineTo(0f, centerY)
lineTo(centerX, 0f)
close()
}
drawPath(
path = path,
color = Color.Gray
)
}
사다리꼴
TrapezoidShape(
leftSkewed = 0.2f,
rightSkewed = 0.2f,
modifier = Modifier.fillMaxSize()
)
그리기
Canvas(
modifier = Modifier
) {
val path = Path()
val width = size.width
val height = size.height
val leftSkewedWidth = width * leftSkewed
val rightSkewedWidth = width * rightSkewed
path.apply {
moveTo(leftSkewedWidth, 0f)
lineTo(width - rightSkewedWidth, 0f)
lineTo(width, height)
lineTo(0f, height)
lineTo(leftSkewedWidth, 0f)
close()
}
drawPath(
path = path,
color = Color.Gray
)
}