Sam Michael
08/06/2021, 7:39 AM@Composable
private fun tileButton(
isVisible: MutableState<Boolean> = mutableStateOf(false),
turn: MutableState<Int> = mutableStateOf(0)
) = Box(
modifier = Modifier.background(accentAmber).size(60.dp).padding(0.dp).border(0.dp, accentAmber)
.clickable(onClick = {
isVisible.value = true
turn.value += 1
}).drawBehind {
drawVerticalLine()
drawHorizontalLine()
}.drawWithContent {
drawCorrectColorCircle(isVisible, turn)
}) {
}
Sam Michael
08/06/2021, 7:47 AMSam Michael
08/06/2021, 7:53 AMSam Michael
08/06/2021, 7:58 AM@Composable
fun elevation(
defaultElevation: Dp = 2.dp,
pressedElevation: Dp = 8.dp,
// focused: Dp = 4.dp,
// hovered: Dp = 4.dp,
disabledElevation: Dp = 0.dp
): ButtonElevation {
return remember(defaultElevation, pressedElevation, disabledElevation) {
DefaultButtonElevation(
defaultElevation = defaultElevation,
pressedElevation = pressedElevation,
disabledElevation = disabledElevation
)
}
}
Albert Chang
08/06/2021, 8:19 AMdrawWithContent
only:
Modifier.drawWithCache {
onDrawWithContent {
// Draw behind
drawContent()
// Draw above
}
}
Also the order of modifiers matters.Albert Chang
08/06/2021, 8:22 AMModifier.background()
, Modifier.border()
, etc, drawing all these yourself in one modifier is simpler and easier to read.Sam Michael
08/06/2021, 8:57 AMAlbert Chang
08/06/2021, 8:59 AMSam Michael
08/06/2021, 9:06 AMSam Michael
08/06/2021, 9:10 AMSam Michael
08/06/2021, 9:28 AMAlbert Chang
08/06/2021, 9:58 AMdrawRect(color = accentAmber)
.