Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
¿Cómo detectar que se presiona un botón en Jetpack Compose?

Trato de obtener un botón que tenga este efecto genial de que el radio del borde cambia cuando se toca (como en la aplicación de calculadora predeterminada de Android 12) y al mismo tiempo mantiene el efecto dominó del botón.

Lo que pensé que funcionaría fue esto:

 var pressed by remember { mutableStateOf(false) } val borderRadius by animateDpAsState( if (pressed) 10.0.dp else 20.0.dp ) val buttonTitle = "uniqueButton" Button( onClick = { // some on click stuff }, shape = RoundedCornerShape(borderRadius), modifier = Modifier .pointerInput(buttonTitle) { detectTapGestures( onPress = { pressed = true tryAwaitRelease() pressed = false } ) } ) { Text(text = buttonTitle) }

Pero el código dentro de la función pasada para onPress nunca se ejecuta. Según tengo entendido, debería serlo, cuando se toca o presiona el botón. ¿Dónde está mi error, no entiendo algo en la documentación ?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La mayoría de los controles de Compose tienen un parámetro de fuente de interactionSource para este propósito. Así es como puedes usarlo:

 val interactionSource = remember { MutableInteractionSource() } val pressed by interactionSource.collectIsPressedAsState() Button( onClick = {}, interactionSource = interactionSource, ) { }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda