pointerInput e detectTapGestures
Detecte toque, toque duplo e pressão prolongada.
pointerInput e detectTapGestures é uma aula grátis de Jetpack Compose Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Jetpack Compose Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Jetpack Compose Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
The Gateway to Touch
To handle raw touch in Compose you reach for the pointerInput modifier. It gives any element a place to read finger events directly. 👆
Add It to Any Composable
Attach pointerInput in a Modifier chain. Inside its lambda you get a gesture scope where you can listen for taps, drags, and more.
Box(Modifier.pointerInput(Unit) {
// gesture detectors go here
})Detect Simple Taps
The friendliest helper is detectTapGestures. It bundles tap, double tap, long press, and press into one tidy call for you.
detectTapGestures(onTap = { /* tapped */ })A Single Quick Tap
The onTap lambda fires when a finger presses and lifts without moving much. It receives the Offset where the tap landed.
detectTapGestures(onTap = { offset -> println(offset) })Catch a Double Tap
Pass onDoubleTap to react to two quick taps in a row. It is perfect for a like or zoom shortcut on an image. 💙
detectTapGestures(onDoubleTap = { /* zoom in */ })Hold for Long Press
The onLongPress lambda fires after the finger stays down past a threshold. Use it to open context menus or selection mode.
detectTapGestures(onLongPress = { /* show menu */ })Track the Press Itself
Use onPress to know the moment a finger touches down. Its lambda is suspendable, so you can await release or cancellation.
detectTapGestures(onPress = { awaitRelease() })Every Tap Carries Position
Each tap callback hands you an Offset in pixels, measured from the top-left of the composable. Read it to know exactly where the user touched.
The Key Argument Matters
The first argument to pointerInput is a key. When it changes the gesture block restarts, so pass any state your handlers depend on.
Modifier.pointerInput(enabled) { /* restarts if enabled flips */ }Gestures Run in Coroutines
The pointerInput block is a suspend scope. That is why detectors can await events frame by frame without blocking the UI thread.
Combine Several Callbacks
One detectTapGestures call can take tap, double tap, and long press together. Compose figures out which one the user meant.
detectTapGestures(onTap = {...}, onLongPress = {...})Quick Check
Which helper bundles tap, double tap, and long press into one call?
Recap: Raw Taps Made Easy
You met pointerInput and detectTapGestures for tap, double tap, and long press. They are your foundation for custom touch handling. 🎉
Perguntas Frequentes
A aula “pointerInput e detectTapGestures” é grátis?
Sim — o texto completo de “pointerInput e detectTapGestures” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Jetpack Compose Academy, atualize para CoddyKit PRO. O curso de Jetpack Compose Academy inclui 4 aulas no total.
O que vou aprender em “pointerInput e detectTapGestures”?
Detecte toque, toque duplo e pressão prolongada. Você pratica Jetpack Compose Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Jetpack Compose Academy?
Nenhuma experiência prévia é necessária. Jetpack Compose Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “pointerInput e detectTapGestures”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Jetpack Compose Academy?
Sim. Cada aula de Jetpack Compose Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- pointerInput e detectTapGestures
- Arrastar, Deslizar e Arremessar
- Transformar: Deslocar, Ampliar e Girar
- Conexões de Rolagem Aninhada