Symbole für den Mauszeiger

Android-Nutzer greifen über verschiedene Formfaktoren auf Ihre App zu, z.B. über Smartphones, Tablets, faltbare Geräte und Chromebooks. Bei der Interaktion mit Ihrer Anwendung, insbesondere auf größeren Bildschirmen, verwenden Nutzer möglicherweise auch ein Zeigegerät wie eine Maus mit drei Tasten. Android-Anwendungen unterstützen die Möglichkeit, den Mauszeiger unterschiedlich zu gestalten, um Nutzern visuell zu signalisieren, dass sie mit einem Objekt interagieren können.

Standardcursor des Systems verwenden

Nutzer sind mit verschiedenen Konventionen für die Interaktion mit verschiedenen Arten von Objekten auf Geräten mit großen Bildschirmen vertraut. Android bietet Entwicklern einige der gängigsten Cursorsymbole, die Nutzer kennen. Sie können diese Standardcursorsymbole mit wenigen Codezeilen hinzufügen. Sehen wir uns das folgende Kotlin-Snippet an:

myView.setOnHoverListener { view, _ ->
      view.pointerIcon =
         PointerIcon.getSystemIcon(applicationContext, PointerIcon.TYPE_HAND)
      false // Listener did not consume the event.
}

In diesem Beispiel ist myView die Ansicht, für die unter bestimmten Bedingungen ein Zeigersymbol festgelegt wird. Die hier gezeigte Bedingung ist ein Hover-Zustand, der auftritt, wenn sich der Mauszeiger über einer Ansicht befindet. In anderen Szenarien möchten Sie möglicherweise ein Warte- oder Fadenkreuzsymbol während der Verarbeitung oder in einem Spiel.

Der setOnHoverListener wartet darauf, dass der Mauszeiger in den Hover-Status wechselt, und reagiert dann auf dieses Ereignis. Im Event-Listener wird view.pointerIcon aufgerufen, um das Zeigersymbol für diese bestimmte Ansicht festzulegen. Ein vorhandenes Systemsymbol wird verwendet, um das Symbol des Mauszeigers festzulegen.

In Android sind mehrere Systemsymbole integriert. Eine vollständige Liste finden Sie unten auf dieser Seite. Das Symbol TYPE_HAND wurde verwendet. Es zeigt eine geschlossene Hand mit ausgestrecktem Zeigefinger.

Eigenen speziellen Cursor verwenden

// Loading a bitmap to use as a pointer icon
    BitmapFactory.decodeResource(
        this.resources,
        R.drawable.dollar_sign
    ), CURSOR_WIDTH, CURSOR_HEIGHT, false
)

// Creating the pointer icon and sending clicks from the center of the mouse icon
PointerIcon.create(dollarBitmap, (CURSOR_WIDTH/2).toFloat(), (CURSOR_HEIGHT/2).toFloat())

Hinweis:Die Position des Hotspots hängt von Ihrem Anwendungsfall ab. In einer Zeichen-App wäre der Hotspot beispielsweise die Spitze des Stifts oder Pinsels.

Beispiele

Wenn Sie Ihrer Anwendung Zeigersymbole hinzufügen, können Sie Nutzern helfen, die verschiedenen Geräteformfaktoren, die sie verwenden, intuitiver zu bedienen. Es gibt viele tolle Standardsystemsymbole. Wenn diese nicht Ihren Anforderungen entsprechen, können Sie jederzeit eigene Symbole laden oder erstellen.

  • Drag-and-drop: Wenn Ihre Anwendung das Ziehen aus einer anderen Anwendung und das Ablegen in Ihrer Anwendung unterstützt, können Sie das TYPE_NO_DROP-Symbol implementieren. So wird visuell angezeigt, dass Ihre Anwendung den MIME-Typ nicht unterstützt, der in Ihre App eingefügt werden soll.
  • Karten: Wenn Sie eine Kartenanwendung haben und Nutzern zeigen möchten, dass sie die Karte schwenken können, können Sie das TYPE_GRAB-Symbol anzeigen lassen, wenn der Mauszeiger auf die Karte bewegt wird. Wenn der Nutzer klickt, können Sie das Symbol in eine greifende Hand ändern, um anzuzeigen, dass er die Karte schwenkt.
  • Fotobearbeitung: Nutzer, die Fotos bearbeiten, möchten die Möglichkeit haben, eine Lupe auszuwählen, um hineinzuzoomen. Sie können den Cursor mit dem Symbol TYPE_ZOOM_IN in eine Lupe ändern, wenn der Zoommodus ausgewählt ist.
  • Und viele weitere Möglichkeiten

Hinweis:Ein Beispiel für verschiedene Zeigeränderungen finden Sie in diesem GitHub-Zeigerbeispiel.

Benutzerdefinierte Mauszeigersymbole in einer Android-App.

Anhang

Weitere Informationen

Systemstandard-Cursor

Dies sind die standardmäßig im Android-System verfügbaren Cursor.

Cursor-Name Symbol
TYPE_ALIAS Der Alias-Cursor, ein Pfeil mit einem kleinen gebogenen Pfeil daneben.
TYPE_ALL_SCROLL Der Cursor für das Scrollen in alle Richtungen, ein Kreis mit vier nach außen zeigenden Pfeilen.
TYPE_ARROW Der Standardpfeilcursor.
TYPE_CELL Zellcursor
TYPE_CONTEXT_MENU Der Kontextmenü-Cursor, ein Pfeil mit einem kleinen Menüsymbol daneben.
TYPE_COPY Der Kopiercursor, ein Pfeil mit einem Pluszeichen daneben.
TYPE_CROSSHAIR Das Fadenkreuz – ein Pluszeichen mit einem Punkt in der Mitte.
TYPE_DEFAULT Der Standardpfeilcursor.
TYPE_GRAB Der Ziehcursor, eine offene Hand.
TYPE_GRABBING Der Greifcursor, eine geschlossene Hand.
TYPE_HAND Der Handcursor, eine Hand mit ausgestrecktem Zeigefinger.
TYPE_HELP Der Hilfecursor, ein Pfeil mit einem Fragezeichen daneben.
TYPE_HORIZONTAL_DOUBLE_ARROW Der horizontale Doppelpfeil-Cursor zum Anpassen der Größe.
TYPE_NO_DROP Der Cursor „Kein Ablegen“: ein Kreis mit einer Linie durch.
TYPE_NULL Kein Cursor wird angezeigt
TYPE_TEXT Der Textcursor, ein I-Balken.
TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW Der Cursor für die Größenänderung ist ein doppelter Pfeil, der von oben links nach unten rechts verläuft.
TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW Der Cursor zum Ändern der Größe ist ein doppelter Pfeil, der von oben rechts nach unten links zeigt.
TYPE_VERTICAL_DOUBLE_ARROW Der vertikale Doppelpfeil-Cursor zum Anpassen der Größe.
TYPE_VERTICAL_TEXT Der vertikale Textcursor, ein horizontaler I-Balken.
TYPE_WAIT Der Wartecursor, eine Sanduhr oder ein sich drehender Kreis.
TYPE_ZOOM_IN Der Zoom-Cursor, eine Lupe mit einem Pluszeichen.
TYPE_ZOOM_OUT Der Cursor zum Verkleinern, eine Lupe mit einem Minuszeichen.