Les utilisateurs Android accèdent à votre application depuis différents types de facteurs de forme (téléphones, tablettes, appareils pliables et Chromebooks, par exemple). Lorsqu'ils interagissent avec votre application, en particulier sur les grands écrans, les utilisateurs peuvent également utiliser un dispositif de pointage tel qu'une souris à trois boutons. Les applications Android permettent d'appliquer différents styles au pointeur de la souris pour aider les utilisateurs à savoir visuellement qu'ils peuvent interagir avec un objet.
Utiliser les curseurs système par défaut
Les utilisateurs connaissent différentes conventions pour interagir avec différents types d'objets sur les appareils à grand écran. Android fournit aux développeurs certaines des icônes de curseur les plus courantes que les utilisateurs connaissent. Vous pouvez ajouter ces icônes de curseur système par défaut en quelques lignes de code. Examinons l'extrait de code Kotlin suivant :
myView.setOnHoverListener { view, _ -> view.pointerIcon = PointerIcon.getSystemIcon(applicationContext, PointerIcon.TYPE_HAND) false // Listener did not consume the event. }
Dans cet exemple, myView est la vue qui sera définie sur une icône de pointeur dans certaines conditions. La condition présentée ici est un état de survol, qui se produit lorsque le pointeur de la souris se trouve sur une vue. Dans d'autres scénarios, vous pouvez souhaiter afficher une icône d'attente pendant le traitement ou un réticule dans un jeu.
setOnHoverListener écoute le moment où le pointeur passe à l'état de survol, puis agit en conséquence. Dans l'écouteur d'événements, view.pointerIcon est appelé pour définir l'icône du pointeur pour cette vue spécifique. Une icône système existante est utilisée pour définir l'icône du pointeur.
Android intègre plusieurs icônes système. Vous trouverez la liste complète en bas de cette page. L'icône TYPE_HAND, qui représente une main fermée avec l'index tendu, a été utilisée.
Utiliser votre propre curseur spécial
// 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())
Remarque : L'emplacement du point d'accès dépend de votre cas d'utilisation. Par exemple, une application de dessin définirait la zone cliquable comme étant la pointe du stylo ou du pinceau.
Exemples
Ajouter des icônes de pointeur à votre application est un excellent moyen d'aider vos utilisateurs à profiter d'une expérience plus intuitive sur les différents facteurs de forme d'appareils qu'ils utilisent. De nombreuses icônes système par défaut sont disponibles. Si elles ne répondent pas à vos besoins, vous pouvez toujours charger ou créer les vôtres.
-
Glisser-déposer : si votre application permet de faire glisser des éléments depuis une autre application et de les déposer dans votre application, vous pouvez implémenter l'icône
TYPE_NO_DROP. Cela indiquerait visuellement que votre application n'est pas compatible avec le type MIME qui tente d'être déposé dans votre application. -
Cartographie : si vous disposez d'une application de cartographie et que vous souhaitez montrer aux utilisateurs qu'ils peuvent faire glisser la carte, vous pouvez leur proposer l'icône
TYPE_GRABlorsqu'ils pointent sur la carte. Lorsque l'utilisateur clique, vous pouvez remplacer l'icône par une main qui saisit pour indiquer qu'il fait un panoramique de la carte. -
Retouche photo : les utilisateurs qui retouchent des photos aiment disposer de commandes qui leur permettent de sélectionner une loupe pour faire un zoom avant. Vous pouvez remplacer le curseur par une loupe avec l'icône
TYPE_ZOOM_INlorsque le mode Zoom avant est sélectionné. - Et bien d'autres opportunités
Remarque : Pour voir différents changements de pointeur en action, consultez l'exemple de pointeur GitHub.
Annexe
Autres ressources
- Exemple de pointeur GitHub
- Documentation sur la classe Android PointerIcon
- Optimiser des applications pour ChromeOS : curseurs personnalisés
Curseurs système par défaut
Voici les curseurs disponibles par défaut dans le système Android.
| Nom du curseur | Icône |
|---|---|
| TYPE_ALIAS | ![]() |
| TYPE_ALL_SCROLL | ![]() |
| TYPE_ARROW | ![]() |
| TYPE_CELL | Curseur de cellule |
| TYPE_CONTEXT_MENU | ![]() |
| TYPE_COPY | ![]() |
| TYPE_CROSSHAIR | ![]() |
| TYPE_DEFAULT | ![]() |
| TYPE_GRAB | ![]() |
| TYPE_GRABBING | ![]() |
| TYPE_HAND | ![]() |
| TYPE_HELP | ![]() |
| TYPE_HORIZONTAL_DOUBLE_ARROW | ![]() |
| TYPE_NO_DROP | ![]() |
| TYPE_NULL | Aucun curseur ne s'affiche |
| TYPE_TEXT | ![]() |
| TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_DOUBLE_ARROW | ![]() |
| TYPE_VERTICAL_TEXT | ![]() |
| TYPE_WAIT | ![]() |
| TYPE_ZOOM_IN | ![]() |
| TYPE_ZOOM_OUT | ![]() |




















