Long Press — was ist das, die Geste des langen Berührens in Apps

Autor: IT Sectr Veröffentlicht: 2026-02-27 Lesezeit: 8 Min.

Long Press ist eine Geste des langen Drückens, bei der der Finger für eine bestimmte Zeit (normalerweise 0,5–1 Sekunde) ohne Bewegung auf dem Bildschirm bleibt. Im Gegensatz zu Tap wird Long Press nicht im Moment der Berührung erkannt, sondern nach Ablauf des Verzögerungs-Timers. Die Geste wird verwendet, um ein Kontextmenü aufzurufen, Inhalte in der Vorschau anzuzeigen, mehrere Objekte auszuwählen und zusätzliche Aktionen zu aktivieren. Sie wird auf iOS über UILongPressGestureRecognizer und auf Android über setOnLongClickListener oder GestureDetector implementiert.

Wichtige Punkte

  • Verzögerung — der Hauptunterschied zwischen Long Press und Tap: erfordert 0,5–1 Sekunde Gedrückthalten
  • Kontextmenü — die häufigste Verwendung von Long Press: Aufrufen zusätzlicher Optionen für ein Element
  • UILongPressGestureRecognizer — die primäre iOS-Klasse zur Verarbeitung von langem Drücken mit Status-Callbacks
  • setOnLongClickListener — die Android-View-Methode, die einen Listener bei langem Drücken auslöst
  • Multi-State — Long Press durchläuft die Zustände began, changed, ended, cancelled in iOS

Was ist Long Press?

Long Press (langes Drücken, langes Berühren) ist eine Multi-Touch-Interface-Geste, bei der der Benutzer den Bildschirm berührt und den Finger für eine bestimmte Zeit still hält. Das System reagiert nicht sofort: es wartet auf einen Timeout (normalerweise 500 ms) und erkennt die Geste erst nach dessen Ablauf als Long Press. Wenn der Finger früher losgelassen wird, wird die Geste als normaler Tap interpretiert.

Die Geste ist ein grundlegender Baustein moderner mobiler Oberflächen. Apple verwendet sie, um Kontextmenüs in Apps aufzurufen (Messages, Safari, Files). Google hat Long Press in die Textauswahl, die Neuanordnung von Symbolen auf dem Startbildschirm und das Aufrufen von Kontextmenüs in Android integriert. In Weboberflächen emuliert langes Drücken oft den Rechtsklick auf Mobilgeräten, wo es keine physische rechte Maustaste gibt.

Historisch entstand Long Press als Alternative zum Kontextmenü (Rechtsklick) für Touchscreens. Erste Implementierungen gab es auf Geräten mit resistiven Bildschirmen (Palm, Windows Mobile Anfang der 2000er), aber die Geste wurde erst mit dem Aufkommen von iPhone und Android standardisiert. Die Human Interface Guidelines beider Plattformen beschreiben Long Press als sekundäre Aktion — nicht als Ersatz für Tap, sondern als Erweiterung der Funktionalität.

Wie unterscheidet sich Long Press von Tap

Long Press und Tap sind zwei verschiedene Gesten mit unterschiedlicher Semantik. Tap ist ein sofortiges Drücken: der Finger berührt den Bildschirm und wird innerhalb von 100–300 ms wieder losgelassen. Tap ist immer eine primäre Aktion: eine App öffnen, einen Knopf drücken, einem Link folgen. Long Press ist eine sekundäre Aktion: ein Kontextmenü öffnen, mit der Bearbeitung beginnen, zusätzliche Informationen anzeigen.

ParameterTapLong Press
Gedrückt Haltezeit100–300 ms500–1000 ms
AktionstypPrimär (primary)Sekundär (secondary)
BeispieleLink öffnen, Knopf drückenKontextmenü, Bearbeitung
FeedbackVisuell (Hervorhebung)Haptisch (Haptic Feedback)
iOS APIUITapGestureRecognizerUILongPressGestureRecognizer
Android APIsetOnClickListenersetOnLongClickListener

Wichtige Regel: Verwenden Sie Long Press niemals als einzige Möglichkeit, eine Aktion auszuführen. Benutzer erwarten, dass Tap die primäre Aktion ausführt und Long Press zusätzliche Optionen öffnet. Die Verletzung dieses Prinzips (z.B. langes Drücken zum Öffnen eines Links zu erfordern) führt zu einer negativen Benutzererfahrung und eingeschränkter Zugänglichkeit.

Long Press in iOS: UILongPressGestureRecognizer

UILongPressGestureRecognizer ist der standardmäßige Gestenerkenner im iOS SDK zur Verarbeitung von langem Drücken. Er erbt von UIGestureRecognizer und unterstützt die Konfiguration der Mindestdauer, der zulässigen Fingerbewegung und der Anzahl der Berührungen. Der Erkennungsmechanismus wechselt nach Ablauf des Timers in den Zustand UIGestureRecognizerStateBegan, dann bei Fingerbewegung in UIGestureRecognizerStateChanged und beim Loslassen in UIGestureRecognizerStateEnded.

swift
// UILongPressGestureRecognizer mit Konfiguration der Mindestdauer
class ContextMenuViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let longPressRecognizer = UILongPressGestureRecognizer(
            target: self,
            action: #selector(handleLongPress(_:))
        )

        // Mindest-Gedrückt-Haltezeit: 0.5 Sekunden
        longPressRecognizer.minimumPressDuration = 0.5

        // Zulässige Fingerbewegung: 10 Punkte
        longPressRecognizer.allowableMovement = 10

        customView.addGestureRecognizer(longPressRecognizer)
    }

    @objc func handleLongPress(_ recognizer: UILongPressGestureRecognizer) {
        guard recognizer.state == .began else { return }

        // Erstellen eines Kontextmenüs
        let location = recognizer.location(in: self.view)
        ContextMenuPresenter.show(at: location)
    }
}

Konfigurationsparameter: minimumPressDuration — Zeit in Sekunden vor der Aktivierung (Standard 0.5, für Barrierefreiheit 0.65+ empfohlen); allowableMovement — maximale Fingerbewegung in Punkten (Standard 10, Erhöhung hilft bei zitternden Händen). iOS unterstützt numberOfTouchesRequired für Multi-Touch-Gesten (z.B. langes Drücken mit zwei Fingern). Der Erkennungsmechanismus integriert sich auch mit UIContextMenuInteraction — wenn über UIContextMenuConfiguration ein Kontextmenü zu einer UIView hinzugefügt wird, ruft Long Press automatisch das Kontextmenü ohne manuelle Gesteimplementierung auf.

Long Press in Android: setOnLongClickListener

setOnLongClickListener ist eine View-Methode im Android SDK, die einen Listener für langes Drücken setzt. Wenn ein Benutzer eine View länger als 500 ms gedrückt hält, ruft das System onLongClick() auf. Die Methode gibt einen boolean zurück — true bedeutet, dass das Ereignis behandelt wurde und nicht weiter propagiert werden soll, false bedeutet, dass das Ereignis von anderen Listenern behandelt werden kann. Für komplexere Verarbeitung (Fingerbewegung nach Beginn von Long Press) wird GestureDetector mit OnGestureListener verwendet.

kotlin
// Beispiel für setOnLongClickListener mit haptischem Feedback
val itemView: View = findViewById(R.id.itemView)

itemView.setOnLongClickListener {
    // Haptische Rückmeldung zur Bestätigung des Gestenstarts
    it.performHapticFeedback(
        HapticFeedbackConstants.LONG_PRESS
    )

    // Kontextmenü an der Position des Elements anzeigen
    val popup = PopupMenu(this, it)
    popup.menuInflater.inflate(R.menu.context_menu, popup.menu)
    popup.show()

    true // Ereignis behandelt
}

GestureDetector bietet eine feinere Kontrolle über die Geste. Im Gegensatz zu setOnLongClickListener benachrichtigt GestureDetector über den Beginn (onLongPress), die Bewegung (onScroll) und das Loslassen. Dies ermöglicht komplexe Szenarien — z.B. das Starten eines Drags nach langem Drücken (Drag-and-Drop). OnGestureListener erfordert die Implementierung von sechs Methoden: onDown, onShowPress, onSingleTapUp, onScroll, onLongPress, onFling.

Wo wird langes Drücken verwendet

Long Press wird in Dutzenden von mobilen Oberflächenszenarien verwendet. Die häufigste Anwendung ist das Kontextmenü: langes Drücken auf einen Kontakt zeigt Kommunikationsoptionen (Anruf, Nachricht, E-Mail), auf eine Datei — Optionen (Kopieren, Verschieben, Löschen), auf Text — Auswahl und Zwischenablage. Der Android Launcher verwendet langes Drücken auf einem Symbol zum Verschieben von Apps und Hinzufügen von Widgets.

Textauswahl ist ein klassisches Beispiel für Long Press auf beiden Plattformen. Auf iOS aktiviert langes Drücken auf Text eine Lupe zur Cursorpositionierung; auf einem Wort — wählt es mit Markierungen aus. Auf Android wählt langes Drücken das gesamte Wort aus und zeigt eine Aktionsleiste (Kopieren, Ausschneiden, Einfügen). Beide Plattformen verwenden anschließendes Ziehen der Markierungen zum Erweitern der Auswahl.

Vorschau — auf iOS öffnet langes Drücken auf einen Link in Safari oder eine Nachricht in Mail eine Inhaltsvorschau (peek). Auf Android wird ein ähnliches Verhalten durch Long Press auf eine Benachrichtigung implementiert (erweitert die Benachrichtigung mit Aktionsschaltflächen). Foto-Apps verwenden langes Drücken auf ein Thumbnail zur schnellen Bildvorschau.

Drag-and-Drop wird oft durch Long Press initiiert. Der Benutzer hält das Element, das System wechselt in den Drag-Modus, und die Fingerbewegung bewegt das Element über den Bildschirm. Android unterstützt dieses Szenario über View.startDragAndDrop() nach Long Press. iOS verwendet UIDragInteraction, bei dem die Drag-Interaktion einen langen Druck zum Starten des Ziehens erfordert.

Empfehlungen zur Verwendung von Long Press

Die Human Interface Guidelines beider Plattformen geben klare Empfehlungen: Long Press sollte immer eine sekundäre Aktion sein. Machen Sie langes Drücken niemals zur einzigen Möglichkeit, eine kritische Funktion auszuführen. Benutzer versuchen zuerst Tap — wenn Tap nicht wie erwartet funktioniert, sind sie frustriert. Fügen Sie visuelle Hinweise hinzu: Kontextmenüs können durch ein Dreipunkt-Symbol angezeigt werden, und Elemente, die Long Press unterstützen, durch einen visuellen Hinweis bei Berührung.

Haptisches Feedback ist für Long Press obligatorisch. Wenn die Geste erkannt wird, sollte das Gerät dies mit haptischem Feedback bestätigen: auf iOS ist dies UIImpactFeedbackGenerator mit einem leichten Impuls, auf Android — HapticFeedbackConstants.LONG_PRESS. Ohne haptisches Feedback ist der Benutzer nicht sicher, ob die Geste registriert wurde, und drückt möglicherweise erneut, was unerwünschte Aktionen verursacht.

EmpfehlungiOSAndroid
Erkennungs-Timeout0.5–0.65 Sekunden500 ms (Standard)
Haptisches FeedbackUIImpactFeedbackGeneratorHapticFeedbackConstants.LONG_PRESS
Visuelles FeedbackKontextmenü, HervorhebungPopupMenu, Ripple-Animation
BarrierefreiheitVoiceOver + Custom ActionsTalkBack + AccessibilityNodeInfo
Maximale FingerbewegungallowableMovement = 10 ptTouchSlop (~8 dp Standard)
Scroll-KonfliktcancelsTouchesInView = delayedonInterceptTouchEvent + LongPress

Barrierefreiheit: Nicht alle Benutzer können einen langen Druck ausführen (Menschen mit motorischen Einschränkungen, ältere Benutzer). Stellen Sie immer eine alternative Möglichkeit zum Zugriff auf Long-Press-Aktionen bereit — z.B. über eine "Mehr"-Schaltfläche in der Oberfläche oder über System-Barrierefreiheitsfunktionen (VoiceOver auf iOS, TalkBack auf Android). Für iOS können Sie über UIAccessibilityCustomAction benutzerdefinierte Aktionen hinzufügen, die über den VoiceOver-Rotor verfügbar sind.

Häufig gestellte Fragen

Wie lange ist die Standard-Gedrückt-Haltezeit für Long Press?

Die Standardzeit für Long Press beträgt 0,5 Sekunden (500 ms) auf beiden Plattformen. iOS erlaubt die Konfiguration von minimumPressDuration von 0,3 bis 1,0 Sekunden. Android verwendet einen festen Timeout von 500 ms für View.setOnLongClickListener. Für Benutzer mit eingeschränkten motorischen Fähigkeiten wird empfohlen, den Timeout auf 0,8–1,0 Sekunden zu erhöhen.

Was ist der Unterschied zwischen Long Press und 3D Touch?

Long Press wird durch die Haltezeit (0,5 s) erkannt, 3D Touch — durch den Druck (Gramm Kraft). 3D Touch ist nur auf iPhone 6S–XR verfügbar (Hardware Force Touch Technologie). Ab iOS 13 hat Apple 3D Touch durch Haptic Touch ersetzt — eine Software-Simulation, die über Long Press mit haptischem Feedback funktioniert. Haptic Touch ist auf allen modernen iPhones und iPads verfügbar.

Wie vermeidet man Konflikte zwischen Long Press und ScrollView-Scrolling?

Der Konflikt zwischen Long Press und Scrollen ist ein häufiges Problem. Lösung: Setzen Sie delaysTouchesBegan = true für den Gestenerkenner in iOS (das System sendet touchesBegan nicht sofort, sondern wartet auf die Gesteerkennung). In Android verwenden Sie onInterceptTouchEvent, der false für Long Press zurückgibt. Wenn der Benutzer den Finger vor dem Timeout zu bewegen beginnt, wird die Geste zugunsten des Scrollens abgebrochen.

Kann Long Press in Webanwendungen (PWA) verwendet werden?

Ja, Long Press wird in Webanwendungen unterstützt über das touchstart/touchend-Ereignis mit Zeitmessung. Moderne Browser unterstützen auch das contextmenu-Ereignis, das bei langem Drücken auf mobilen Geräten ausgelöst wird. Für Cross-Browser-Kompatibilität verwenden Sie Bibliotheken wie hammer.js oder implementieren Sie einen benutzerdefinierten Erkennungsmechanismus über setInterval im touchstart-Handler.

Wie fügt man haptisches Feedback bei Long Press auf iOS hinzu?

In iOS wird haptisches Feedback über UIImpactFeedbackGenerator hinzugefügt. Rufen Sie impactOccurred() im Moment des Übergangs von UILongPressGestureRecognizer in den began-Zustand auf. Für eine leichte Rückmeldung verwenden Sie UIImpactFeedbackGenerator(style: .light). Für eine deutlichere — .medium. Für Kontextmenüs fügt iOS automatisch haptisches Feedback über UIContextMenuInteraction ohne zusätzlichen Code hinzu.

Zusammenfassung

  • Long Press — Geste des Fingerhaltens auf dem Bildschirm für 0,5–1 Sekunde zum Aufrufen sekundärer Aktionen
  • Unterschied zu Tap — Tap ist sofort (primäre Aktion), Long Press erfordert Timeout (sekundäre Aktion)
  • iOS API — UILongPressGestureRecognizer mit Parametern minimumPressDuration und allowableMovement
  • Android API — View.setOnLongClickListener und GestureDetector.OnGestureListener
  • Verwendungen — Kontextmenüs, Textauswahl, Vorschau, Initiieren von Drag-and-Drop
  • Haptisches Feedback — obligatorisch zur Bestätigung der Gesteerkennung für den Benutzer
  • Barrierefreiheit — immer alternativen Zugang zu Long-Press-Aktionen bereitstellen

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch