Swipe-în aplicațiile mobile — tipuri de gesturi și implementare

Autor: IT Sectr Publicat: 2026-08-03 Timp de citire: 7 min

Swipe este un gest de glisare a degetului pe ecran, care a devenit unul dintre principalele moduri de interacțiune în interfețele mobile. De la simpla derulare a fotografiilor până la ștergerea e-mailurilor, swipe a înlocuit multe butoane și a făcut controlul mai natural. Potrivit Apple Human Interface Guidelines (2024), gestul de glisare este al doilea ca frecvență de utilizare după atingere, reprezentând 22% din toate interacțiunile în aplicațiile mobile.

Principalele puncte

  • Swipe — gest de glisare în care degetul se mișcă pe ecran într-o direcție specifică
  • Direcții — orizontale (stânga/dreapta) și verticale (sus/jos)
  • Scenarii principale — ștergere, navigare, comutare file, pull-to-refresh
  • Durata gestului — de la 100 la 500 ms, la o durată mai mare este recunoscut ca tragere (drag)
  • Implementare — UIGestureRecognizer pe iOS, GestureDetector pe Android, evenimente tactile în web

Ce este swipe-în interfețele mobile

Swipe este un gest în care utilizatorul glisează degetul pe ecran într-o direcție specifică, inițiind o acțiune. Spre deosebire de atingere (atingere scurtă), swipe implică mișcare și contact cu ecranul pe parcursul întregului gest.

Istoria swipe a început cu primul iPhone în 2007 — gestul de deblocare „slide to unlock” a devenit cartea de vizită a interfețelor mobile. Astăzi, swipe este folosit în mii de aplicații pentru navigare, gestionarea conținutului și organizarea informațiilor.

Potrivit UX Planet (2025), aplicațiile cu control gestual (inclusiv swipe) arată un angajament al utilizatorilor cu 18% mai mare. Swipe este perceput ca o acțiune mai naturală în comparație cu apăsarea unui buton, deoarece imită deplasarea fizică a obiectelor.

Parametrii de recunoaștere a swipe

Parametrii principali care determină dacă un gest este swipe: distanța minimă (de obicei 30–50 pixeli), abaterea maximă de la linia dreaptă (nu mai mult de 15–20 de grade) și durata maximă de contact (până la 500 ms). Dacă degetul rămâne pe ecran mai mult, gestul este clasificat ca tragere (drag) sau apăsare lungă (long press).

Tipuri de swipe după direcție

După direcția de mișcare swipe-urile se împart în patru tipuri principale: stânga, dreapta, sus și jos. Fiecare tip are propria destinație și context de utilizare.

Tip swipeAcțiuneExemplu de utilizare
StângaȘtergere, arhivare, ascundereȘtergere e-mail în Mail, ascundere în Tinder
DreaptaConfirmare, vizualizareLike în Tinder, marcare „Citit”
SusActualizare, închiderePull-to-refresh, swipe pentru a închide panoul
JosNavigare înapoi, deschidereSwipe jos pentru a reveni în iOS, Notification Center

Swipe-urile orizontale (stânga/dreapta) sunt cel mai des folosite pentru gestionarea elementelor individuale — ștergere, arhivare, derulare. Swipe-urile verticale (sus/jos) — pentru navigarea între ecrane și actualizarea conținutului. Potrivit Material Design Guidelines (2024), swipe-ul orizontal este mai comod pentru dreptaci: mișcarea la stânga cu degetul mare este mai naturală pe mâna dreaptă.

Swipe-uri cu mai multe degete

Swipe-urile cu două și trei degete sunt folosite pentru acțiuni avansate. Cu două degete — comutarea între birourile de lucru pe iPad, anularea acțiunii (three-finger swipe). Cu trei degete — captură de ecran pe unele dispozitive. Cu toate acestea, gesturile cu mai multe degete sunt mai puțin intuitive și necesită învățare din partea utilizatorului.

Implementarea swipe pe iOS

Pe iOS gestionarea gesturilor se bazează pe UIGestureRecognizer — o clasă abstractă care analizează secvența de evenimente tactile și determină dacă aceasta corespunde unui anumit gest.

swift
import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        let swipeLeft = UISwipeGestureRecognizer(
            target: self,
            action: #selector(handleSwipe)
        )
        swipeLeft.direction = .left
        view.addGestureRecognizer(swipeLeft)
    }

    @objc func handleSwipe(sender: UISwipeGestureRecognizer) {
        print("Glisați la stânga")
    }
}

UISwipeGestureRecognizer acceptă configurarea direcției (direction) și a numărului de degete (numberOfTouchesRequired). În mod implicit, este necesar un deget și direcția dreapta. Pentru a determina alte direcții, trebuie să specificați explicit direction: .left, .up, .down.

API de nivel superior — UICollectionViewLayout cu suport pentru acțiuni swipe. Începând cu iOS 11, tabelele și colecțiile acceptă acțiuni swipe încorporate prin UISwipeActionsConfiguration, permițând adăugarea butoanelor de ștergere sau arhivare fără gestionarea manuală a gesturilor.

Implementarea swipe pe Android

Pe Android gestionarea swipe-urilor se face prin GestureDetector — o clasă care analizează MotionEvents și apelează metodele callback corespunzătoare.

kotlin
class SwipeActivity : AppCompatActivity() {
    private val swipeThreshold = 100

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val gestureDetector = GestureDetector(this, object : GestureDetector.SimpleOnGestureListener() {
            override fun onFling(
                e1: MotionEvent, e2: MotionEvent,
                velocityX: Float, velocityY: Float
            ): Boolean {
                val dx = e2.x - e1.x
                if (dx > swipeThreshold) {
                    println("Glisați la dreapta")
                }
                return true
            }
        })
    }
}

Metoda onFling în GestureDetector este apelată atunci când utilizatorul glisează rapid degetul pe ecran. Aceasta primește coordonatele inițiale și finale (e1, e2) și viteza de mișcare (velocityX, velocityY). Pentru a determina direcția, se compară diferența de coordonate pe axa X sau Y.

Biblioteca AndroidX oferă un API mai convenabil: ViewCompat.setSwipeRefreshLayout pentru pull-to-refresh, RecyclerView cu ItemTouchHelper pentru acțiuni swipe în liste. ItemTouchHelper permite adăugarea funcționalității swipe cu feedback vizual — pictogramă, culoare de fundal și animație.

Swipe în aplicațiile web

în dezvoltarea web pentru gestionarea swipe-urilor se folosesc evenimentele Touch Events API (touchstart, touchmove, touchend) și biblioteci ajutătoare precum Hammer.js sau Swiper.js.

js
let startX = 0;
let startY = 0;
const threshold = 50;

element.addEventListener("touchstart", (e) => {
    startX = e.touches[0].clientX;
    startY = e.touches[0].clientY;
});

element.addEventListener("touchend", (e) => {
    const dx = e.changedTouches[0].clientX - startX;
    const dy = e.changedTouches[0].clientY - startY;
    if (Math.abs(dx) > threshold) {
        console.log(dx > 0 ? "Glisați la dreapta" : "Glisați la stânga");
    }
});

Touch Events API — modul nativ de gestionare a gesturilor în browser. Evenimentul touchstart înregistrează coordonatele inițiale, touchmove urmărește mișcarea, touchend determină rezultatul. Valoarea de prag (threshold) filtrează atingerile accidentale.

Potrivit Can I Use (2026), Touch Events API este acceptat de 98% dintre browsere. Pentru scenarii complexe de gesturi (swipe-uri multiple, recunoașterea direcției) se recomandă utilizarea bibliotecii Hammer.js, care abstractizează procesarea de nivel scăzut și oferă un API clar.

Pattern-uri UX cu swipe

Pattern-urile UX de succes cu swipe s-au format de-a lungul anilor de evoluție a interfețelor mobile. Utilizarea lor garantează că utilizatorul va înțelege cum funcționează gestul fără instruire suplimentară.

Pattern-ul „Swipe to Delete” — cel mai răspândit. Glisarea la stânga pe un element de listă deschide butonul de ștergere. Standardizat pe iOS (SwipeActionsConfiguration) și Android (ItemTouchHelper). Utilizatorii se așteaptă ca glisarea la stânga să șteargă sau să arhiveze elementul.

Pattern-ul „Swipe to Go Back” — glisarea de la marginea stângă a ecranului pentru a reveni la ecranul anterior. A devenit standard în iOS după iPhone X. Pe Android, navigarea similară funcționează printr-un gest de sistem. Este important să nu intrați în conflict cu acest gest de sistem în aplicațiile dvs.

Pattern-ul „Pull to Refresh” — glisarea în jos pentru actualizarea conținutului. Inventat de Loren Brichter pentru Tweetie (2008), acum folosit în milioane de aplicații. Implementat în componentele standard ale ambelor platforme.

  • Feedback — elementul trebuie să se miște odată cu degetul, arătând rezultatul înainte de finalizarea swipe-ului
  • Conflicte de gesturi — evitați suportul simultan al swipe-ului orizontal și al derulării pe același element
  • Detectabilitate — primele acțiuni swipe trebuie să fie însoțite de un indiciu vizual
  • Anulare — utilizatorul trebuie să aibă posibilitatea de a anula swipe-ul, revenind cu degetul în poziția inițială

Întrebări frecvente

Cu ce diferă swipe de drag (tragere)?

Swipe — mișcare rapidă a degetului cu desprindere ulterioară. Drag — deplasare lentă cu contact constant. Diferența principală constă în viteză: la swipe, valoarea de prag velocity este importantă, la drag — doar coordonatele mișcării.

Care este distanța minimă pentru recunoașterea swipe-ului?

iOS și Android folosesc un prag de aproximativ 30–50 de pixeli. Pentru aplicații web, se recomandă un prag de 40–60 de pixeli. O valoare mai mică duce la activări false în timpul derulării, una mai mare — necesită mișcări prea largi.

Cum să evitați conflictul swipe-ului cu derularea?

Determinați prioritatea gestului în funcție de direcție: swipe-ul orizontal blochează derularea verticală, swipe-ul vertical blochează derularea orizontală. Pe iOS, utilizați metoda UIScrollViewDelegate gestureRecognizerShouldBegin pentru gestionarea priorității.

Trebuie să înveț utilizatorul swipe-ul?

Pentru swipe-uri standard (ștergere, revenire) nu este necesară învățarea — utilizatorii le cunosc. Pentru gesturi unice (swipe cu trei degete, direcție non-standard) este necesară instruirea cu demonstrație vizuală.

Cum să faceți swipe-ul accesibil pentru utilizatorii cu mobilitate redusă?

Întotdeauna dublați acțiunile swipe cu butoane. Măriți pragul de activare la 70–100 de pixeli și timeout-ul la 800 ms pentru utilizatorii cu tremor. Folosiți VoiceOver/TalkBack pentru a anunța acțiunile swipe disponibile.

Concluzii

  • Swipe — gest de glisare a degetului pe ecran, al doilea ca popularitate după atingere
  • Tipuri după direcție — stânga (ștergere), dreapta (confirmare), sus (actualizare), jos (revenire)
  • Implementare pe iOS — UISwipeGestureRecognizer, UISwipeActionsConfiguration pentru liste
  • Implementare pe Android — GestureDetector.onFling, ItemTouchHelper pentru RecyclerView
  • Implementare în web — Touch Events API sau bibliotecile Hammer.js, Swiper.js
  • Pattern-uri UX — swipe to delete, swipe to go back, pull to refresh — soluții testate în timp

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și