как сделать чтобы при mouseDown событии элемент Text менял цвет, а при mouseUp возвращался к стандартному? mouseUp/mouseDown из мира js (в Андроиде пока не знаю какие аналоги, но суть вы уловили).
                  
                  
                  Пока до вот такого довёл:
                  
                  
                  
                  
                  
                  @Composable
                  
                  
                  private fun NumPadButton(key: NumberPadKey, onClick: (key: NumberPadKey) -> Unit) {
                  
                  
                      var color by remember {mutableStateOf(Colors.foreground)}
                  
                  
                  
                  
                  
                      Text(
                  
                  
                          key.char.toString(),
                  
                  
                          color = color,
                  
                  
                          style = Typography.title2,
                  
                  
                          modifier = Modifier.clickable {
                  
                  
                              color = Color.Green
                  
                  
                              onClick(key)
                  
                  
                          }.pointerInput(Unit) {
                  
                  
                              detectTapGestures(
                  
                  
                                  onTap = {
                  
                  
                                      // change color here?
                  
                  
                                  }
                  
                  
                              )
                  
                  
                          },
                  
                  
                      )
                  
                  
                  }
                  
                  
                  
                  
                  
                  надеюсь есть способ решить без всяких detectTapGestures ....
                  
                  
                
Решил 🔥 через interactionSource, может кому пригодится: @Composable private fun NumPadButton(key: NumberPadKey, onClick: (key: NumberPadKey) -> Unit) { val interactionSource = remember { MutableInteractionSource() } val isPressed by interactionSource.collectIsPressedAsState() Text( key.char.toString(), color = if (isPressed) Color.Red else Color.Green, style = Typography.title2, modifier = Modifier .clickable( onClick = { onClick(key) }, indication = null, interactionSource = interactionSource ) ) }
Обсуждают сегодня