Jetpack Compose Academy · Lektion

pointerInput og detectTapGestures

Registrér tryk, dobbelttryk og langt tryk.

Lektion 1 af 413 trin

pointerInput og detectTapGestures er en gratis Jetpack Compose Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Jetpack Compose Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Jetpack Compose Academy-kurset indeholder 4 lektioner i alt.

Vejen til berøring

Hvis du vil håndtere rå berøring i Compose, skal du bruge pointerInput-modifieren. Den giver ethvert element mulighed for at læse fingerbegivenheder direkte. 👆

Føj den til enhver Composable

Føj pointerInput til en kæde af Modifier-objekter. Inde i dens lambda får du et bevægelsesområde, hvor du kan lytte efter tryk, træk og meget mere.

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

Registrér enkle tryk

Den mest brugervenlige hjælper er detectTapGestures. Den samler tryk, dobbelttryk, langt tryk og nedtryk i ét enkelt kald.

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

Ét hurtigt tryk

Lambdaen onTap udløses, når en finger trykker ned og løftes igen uden at flytte sig ret meget. Den modtager den Offset, hvor trykket ramte.

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

Registrér et dobbelttryk

Giv onDoubleTap videre for at reagere på to hurtige tryk efter hinanden. Det er perfekt til en genvej til at synes godt om eller zoome på et billede. 💙

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

Hold fingeren nede

Lambdaen onLongPress udløses, når fingeren holdes nede længere end en bestemt grænse. Brug den til at åbne genvejsmenuer eller en markeringstilstand.

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

Spor selve nedtrykket

Brug onPress for at vide, hvornår en finger rører skærmen. Dens lambda kan suspendere, så du kan vente på, at fingeren løftes, eller at handlingen annulleres.

detectTapGestures(onPress = { awaitRelease() })

Hvert tryk indeholder en position

Hvert tryk-tilbagekald giver dig en Offset i pixels målt fra øverste venstre hjørne af den composable. Læs den for at vide præcis, hvor brugeren trykkede.

Det vigtige argument

Det første argument til pointerInput er en nøgle. Når den ændres, genstarter blokken for bevægelser, så giv den enhver tilstand, som dine behandlere afhænger af.

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

Bevægelser kører i coroutines

Blokken pointerInput er et suspend-område. Derfor kan registreringerne vente på begivenheder fra billede til billede uden at blokere brugergrænsetråden.

Kombinér flere tilbagekald

Ét kald til detectTapGestures kan tage imod tryk, dobbelttryk og langt tryk på samme tid. Compose finder ud af, hvad brugeren mente.

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

Hurtigt tjek

Hvilken hjælper samler tryk, dobbelttryk og langt tryk i ét kald?

Opsummering: Rå tryk gjort nemme

Du har mødt pointerInput og detectTapGestures til tryk, dobbelttryk og lange tryk. De er grundlaget for din egen berøringshåndtering. 🎉

Gratis at komme i gang

Lær Kotlin med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “pointerInput og detectTapGestures” gratis?

Ja — hele teksten til “pointerInput og detectTapGestures” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Jetpack Compose Academy-kurset, skal du opgradere til CoddyKit PRO. Jetpack Compose Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “pointerInput og detectTapGestures”?

Registrér tryk, dobbelttryk og langt tryk. Du øver dig i Jetpack Compose Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Jetpack Compose Academy?

Der kræves ingen tidligere erfaring. Jetpack Compose Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “pointerInput og detectTapGestures”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Jetpack Compose Academy-lektion?

Ja. Alle Jetpack Compose Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. pointerInput og detectTapGestures
  2. Træk, swipe og fling
  3. Transform: Panorering, zoom og rotation
  4. Nested Scroll-forbindelser
← Tilbage til Jetpack Compose Academy