Untitled
unknown
plain_text
2 years ago
1.5 kB
5
Indexable
@Composable
fun SegCheckBox(
checked: Boolean,
onCheckedChange: (Boolean) -> Unit,
modifier: Modifier = Modifier
) {
Box(
modifier = modifier
.size(defaultGrid.grid_6)
.clickable { onCheckedChange(!checked) }
) {
Canvas(
modifier = Modifier
.fillMaxSize()
) {
val strokeWidth = defaultGrid.grid_0_25.toPx()
val cornerRadius = defaultGrid.grid_1.toPx()
drawRoundRect(
color = SegColors.GrayWhite,
size = Size(size.width, size.height),
cornerRadius = CornerRadius(cornerRadius)
)
drawRoundRect(
color = SegColors.Purple,
size = Size(size.width, size.height),
cornerRadius = CornerRadius(cornerRadius),
style = Stroke(strokeWidth)
)
if (checked) {
val innerRectSize = Size(size.width * 2 / 3, size.height * 2 / 3)
val left = (size.width - innerRectSize.width) / 2
val top = (size.height - innerRectSize.height) / 2
drawRoundRect(
color = SegColors.Purple,
size = innerRectSize,
topLeft = Offset(left, top),
cornerRadius = CornerRadius(cornerRadius)
)
}
}
}
}Editor is loading...
Leave a Comment