Вам нужно держать какой-то стейт или условие по которому будете определять делать айтем кликабл или нет (добалвять модифаер или нет)
val textModifier = if (yourCondition) Modifier.clickable {...} else Modifier Text( ... modifier = textModifier )
либо чейнить с помощью then: Modifier .*...* .then(if (enabled) Modifier.clickable(onClick = { }) else Modifier)
немного лучше не полностью убирать clickable, а вместо этого проставлять в него параметр enabled = false пока не нужны клики. таким образом рипл анимация корректно сможет завершиться. если полностью убрать модифаер то ей станет негде рисовать после клика
вот я испрашивал, как можно сделать enabled = false изнутри клик листенера для Text()
здесь
через state
флажок - просто часть состояния, кнопке сетите enabled из вьюмодели и из нее же модифицируете его. Есть компонент TextButton (как и IconButton), чтобы передавать лямбду напрямую в функцию, а не в модифайер
ага, спасибо, как раз про TextButton не знал
Обсуждают сегодня