agrosner
08/17/2022, 1:21 PMagrosner
08/17/2022, 1:23 PM@Composable
override fun rememberUpdatedInstance(interactionSource: InteractionSource): IndicationInstance {
//..
remember(interactionSource) {
PressableIndicationInstance(
isPressed = isPressed,
cornerRadiusSizeInPx = cornerRadiusSize,
scale = scale,
overlayColor = color,
overlayOpacity = config.overlayOpacity,
hasOverlay = config.hasOverlay
)
}
}
nothing too crazy.agrosner
08/17/2022, 1:23 PMoverride fun ContentDrawScope.drawIndication() {
if (isPressed.value) {
scale(scale = scale.value) {
(this as ContentDrawScope).drawContent()
val color = overlayColor.copy(alpha = overlayOpacity)
val style = if (hasOverlay) Fill else Stroke()
if (cornerRadiusSizeInPx == 0.0f) {
drawRect(color = color, size = size, style = style)
} else {
drawRoundRect(
color = color,
size = size,
cornerRadius = CornerRadius(
cornerRadiusSizeInPx,
cornerRadiusSizeInPx,
),
style = style
)
}
}
} else {
drawContent()
}
}
agrosner
08/17/2022, 1:23 PMagrosner
08/17/2022, 1:24 PMagrosner
08/17/2022, 1:42 PMON_CREATE
ON_START
ON_RESUME
ON_PAUSE
ON_STOP
ON_START
ON_RESUME
agrosner
08/17/2022, 1:42 PM