Jetpack Compose Academy · Lektion

pointerInput och detectTapGestures

Upptäck tryck, dubbeltryck och långtryck.

Lektion 1 av 413 steg

pointerInput och detectTapGestures är en gratis lektion i Jetpack Compose Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Jetpack Compose Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Jetpack Compose Academy innehåller totalt 4 lektioner.

Vägen in till beröring

För att hantera rå beröring i Compose använder du pointerInput-modifieraren. Den ger alla element möjlighet att läsa fingerhändelser direkt. 👆

Lägg till den i valfri Composable

Fäst pointerInput i en Modifier-kedja. Inuti dess lambda får du ett gestomfång där du kan lyssna efter tryck, drag och mer.

Box(Modifier.pointerInput(Unit) {
  // gesture detectors go here
})

Identifiera enkla tryck

Den enklaste hjälpfunktionen är detectTapGestures. Den samlar tryck, dubbeltryck, långt tryck och nedtryckning i ett enda smidigt anrop.

detectTapGestures(onTap = { /* tapped */ })

Ett snabbt tryck

Lambda-funktionen onTap körs när ett finger trycker ned och lyfts utan att flyttas nämnvärt. Den tar emot den Offset där trycket hamnade.

detectTapGestures(onTap = { offset -> println(offset) })

Fånga ett dubbeltryck

Skicka med onDoubleTap för att reagera på två snabba tryck efter varandra. Det passar perfekt för en gilla- eller zoomgenväg på en bild. 💙

detectTapGestures(onDoubleTap = { /* zoom in */ })

Håll kvar för ett långt tryck

Lambda-funktionen onLongPress körs när fingret hålls ned längre än en viss tröskel. Använd den för att öppna snabbmenyer eller markeringsläge.

detectTapGestures(onLongPress = { /* show menu */ })

Spåra själva nedtryckningen

Använd onPress för att känna av när ett finger rör vid skärmen. Dess lambda kan suspenderas, så du kan invänta att fingret lyfts eller att händelsen avbryts.

detectTapGestures(onPress = { awaitRelease() })

Varje tryck innehåller en position

Varje tryckcallback ger dig en Offset i pixlar, mätt från Composable-elementets övre vänstra hörn. Läs av den för att veta exakt var användaren tryckte.

Det viktiga argumentet

Det första argumentet till pointerInput är en nyckel. När den ändras startas gestblocket om, så skicka med alla tillstånd som dina hanterare är beroende av.

Modifier.pointerInput(enabled) { /* restarts if enabled flips */ }

Gester körs i Coroutines

pointerInput-blocket är ett suspend-omfång. Därför kan detektorer invänta händelser bildruta för bildruta utan att blockera gränssnittstråden.

Kombinera flera callbacks

Ett enda anrop till detectTapGestures kan ta emot tryck, dubbeltryck och långt tryck tillsammans. Compose avgör vilken gest användaren avsåg.

detectTapGestures(onTap = {...}, onLongPress = {...})

Snabb kontroll

Vilken hjälpfunktion samlar tryck, dubbeltryck och långt tryck i ett enda anrop?

Sammanfattning: Råa tryck på ett enkelt sätt

Du har lärt känna pointerInput och detectTapGestures för tryck, dubbeltryck och långt tryck. De är grunden för egen beröringshantering. 🎉

Gratis att börja

Lär dig Kotlin med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”pointerInput och detectTapGestures” gratis?

Ja – hela texten till ”pointerInput och detectTapGestures” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Jetpack Compose Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Jetpack Compose Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”pointerInput och detectTapGestures”?

Upptäck tryck, dubbeltryck och långtryck. Ni övar på Jetpack Compose Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Jetpack Compose Academy?

Du behöver inga förkunskaper. Utbildningen i Jetpack Compose Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”pointerInput och detectTapGestures”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Jetpack Compose Academy-lektionen?

Ja. Varje Jetpack Compose Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. pointerInput och detectTapGestures
  2. Dra, svep och släng
  3. Transformera: panorera, zooma och rotera
  4. Kapslade rullningskopplingar
← Tillbaka till Jetpack Compose Academy