J'ai une liste qui peut être défilée verticalement, dont les entrées sont supprimées en glissant horizontalement. J'ai trouvé que limiter le balayage gauche/droite à strictement horizontal rend le déclenchement difficile; cependant, si je le laisse trop large, le défilement vertical peut également être repris comme un balayage horizontal.
Quelle est la meilleure gamme d'angles à utiliser pour que je puisse à la fois distinguer l'action de haut en bas de l'action de gauche à droite et permettre aux gens une marge de manœuvre?
Il s'agit d'un téléphone Windows Phone 7, donc la direction du geste est mesurée dans le sens horaire à partir de l'axe X positif. Les gens sont également beaucoup plus susceptibles de faire défiler que de glisser ici.
Ne créez pas de zone morte
En supposant que vous autorisez les balayages horizontaux et verticaux et uniquement les balayages horizontaux et verticaux, je ne vois aucune raison de ne pas simplement dire que si votre balayage est à moins de 45 ° de l'horizontale, traiter comme un balayage horizontal et à 45 ° de la verticale, le traiter comme une verticale glisser.
Je ne suis pas sûr qu'il y ait un besoin de zone morte au milieu où il est traité comme aucun.
Si l'utilisateur fait un balayage à 45 ° (ou près de lui), alors oui, c'est la chance du tirage qui se produit, mais je ne vois pas cela comme un problème.
Cela semble un comportement parfaitement normal et c'est ce que je vois se produire sur les applications de nouvelles Pulse et BBC sur mon Android.
Je pense qu'une zone morte serait source de confusion pour certains utilisateurs. Limitez-le à l'horizontale et à la verticale, et n'ajoutez pas une autre dimension en introduisant un no-op comme la troisième manière .
Prioriser la scission
Si vous regardez le flux Tweet sur Twitter pour Android , ils priorisent la direction de balayage la plus courante ou la plus utile. (Si vous êtes à peu près à environ 10 de l'horizontale, cela vous montre le Tweet plus en détail sur une autre page, tandis que si vous êtes à environ 80 degrés de la verticale, vous faites défiler vers le haut ou vers le bas dans le flux de tweets.
Notez que la préférence vers le balayage vertical pourrait également être une tentative de répondre au balayage paresseux - peut-être en utilisant l'arc du pouce lorsque vous tenez le téléphone d'une part.
C'est donc une option disponible si vous craignez que les utilisateurs effectuent accidentellement l'action horizontale par erreur.
Cependant, je pense que l'angle étroit requis par Twitter pour Android est légèrement trop étroit car il entrave légèrement la découverte par les utilisateurs qui attendent la répartition égale à 45 °.
Notez que même via Twitter priorise la scission vers la verticale, il n'y a toujours pas de zone morte .
Je dirais que limiter la plage à ± 20 ° par rapport à l'horizontale ou à la verticale serait un bon point de départ. J'exécuterais ensuite des tests pour voir s'ils fonctionnent la plupart du temps.
Beaucoup moins que cela et vous rejetterez trop de balayages tous ensemble, beaucoup plus que cela et vous vous tromperez trop (vertical pour horizontal et vice versa).
Une façon de l'implémenter est de vérifier les différences entre les emplacements X et Y de départ et d'arrivée. Par exemple, si la différence dans X est deux fois la taille de la différence dans Y, c'est un balayage horizontal et si la différence est Y est plus grande, c'est une action de défilement vertical. Cela pourrait vous donner plus de latitude dans les actions que vous acceptez sans générer de fausses actions. L'utilisation de ce rapport 2: 1 vous donnera une tolérance d'environ ± 25 ° par rapport à l'horizontale ou à la verticale.