Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

252
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda