Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

250
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!