I have the toggle button in android jetpack compose, I want to remove ripple effect, when I click the toggle buttons. I try to find a solution on internet, but I did not find clear solution for this kind of example. Is there any idea?
@Composable
fun MainScreen() {
Column(
modifier = Modifier
.fillMaxSize(),
) {
var selected by remember { mutableStateOf(false)}
MainRow(
name = "name1",
change = selected, onCheckedChange = {
selected = it
}))}}}
@Composable
fun MainRow(
name: String,
change:Boolean,
onCheckedChange: (Boolean) -> Unit
) {
Row(
modifier = Modifier
.padding(8.dp)
.fillMaxWidth(),
horizontalArrangement = Arrangement.SpaceBetween
) {
Text(
text = name,
)
Switch(
modifier = Modifier
.scale(1f),
checked = change,
onCheckedChange = onCheckedChange,
colors = SwitchDefaults.colors(
checkedThumbColor = Color.Red,
uncheckedThumbColor = Color.Green,
checkedTrackColor = Color.Yellow,
uncheckedTrackColor = Color.Blue
))}
From the documentation:
So you can write your own
MutableInteractionSourcelike this:And use it like this: