Pourquoi n'y a-t-il aucun bouton d'annulation dans les dialogues de progression d'Android?
Je suis face à un casse-tête moment de semblable à ce cette personne (à partir de janvier 2008) expérimenté quand j'ai réalisé qu'il n'y a pas de bouton annuler dans Android la boîte de dialogue de progression ou tisserands. Il est maintenant en juillet 2009 et je viens d'installer le cupcake version d'Android. A cette chose a changé? Si non, êtes-vous de l'ajout d'un bouton annuler dans la boîte de dialogue et comment le faites-vous?
source d'informationauteur Jacques René Mesrine
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas un utilisateur d'Android ou de développeur, mais je pense que la réponse donnée dans le rapport à fil est assez décent: il y a un matériel touche "retour" sur tous les appareils Android. Les utilisateurs sont censés savoir à appuyer sur Retour pour revenir de n'importe quelle activité ils sont actuellement dans.
Ainsi, les concepteurs d'INTERFACE de sentir il est inutile d'inclure une interface graphique de retour/bouton annuler. Cela peut être considéré comme l'INTERFACE utilisateur de l'application de la SEC principe; s'il existe déjà un moyen de faire quelque chose, c'est assez.
n'est pas sûr du tout bouton annuler...j'ai entendu les rapports de la onCancel() méthode qui ne se déclenche pas correctement. ma solution consiste à faire un bouton normal dans la boîte de dialogue avec un appel de retour à chaque fois que le bouton est pressé.
alors il suffit d'utiliser un simple appel de méthode à partir d'un autre endroit dans votre activité
solution assez simple, mais il fait l'affaire 😉
aussi juste à noter que cancelDialog est une activité essuyer variable, si vous n'avez pas besoin de l'appeler d'ailleurs, alors vous devriez être en mesure de s'en tirer avec juste une limitation de la portée de la variable à cette méthode.
La clé matérielle est la réponse ici. Je serais prudent quant à la généralisation du principe SEC de l'Isu. Il y a beaucoup de cas où vous avez besoin d'un marteau, marteau, marteau du même point de l'utilisateur à plusieurs reprises via les en-têtes, corps de texte, les couleurs et les images.
Les utilisateurs ne "lire" UIs la façon de lire un roman. Ils recherchent les lire.
Je ne peux pas parler pour d'autres applications, mais dans la mienne tout ce qui peut provoquer le thread d'INTERFACE utilisateur à attendre est exécutée dans un thread séparé. Le plus que je puisse faire, c'est montrer un petit progrès spinner dans la barre de titre pour laisser l'utilisateur de savoir quelque chose se passe dans l'arrière-plan.
Comme un utilisateur d'Android, et développeur, je peux dire que, à mon avis, et basé autour de ma compréhension de la plate-forme, qu'il y a une bonne raison pour ne pas avoir un bouton annuler par défaut sur l'annuler sans progression.
En tant que développeur, ces boîtes de dialogue ne peut pas être annulée par défaut, qui est, vous devez explicitement de les définir comme annulables.
Cela a un sens, parce que leur objectif est d'alerter l'utilisateur, via le thread de l'INTERFACE utilisateur, que certains travaux qui se passe ailleurs, ce qui est important pour la mise à jour du thread de l'INTERFACE utilisateur, avant que l'utilisateur devrait continuer leur utilisation de l'application.
Par exemple, lors de l'extraction d'une liste de données d'occuper un écran vide, il n'y a rien à interagir avec, et l'utilisateur doit être conscient du fait que quelque chose se passe, et pour qu'il y ait rien de disponible pour interagir avec jusqu'à ce que ce processus est terminé.
Cependant, il peut y avoir des cas, comme la récupération de données à partir de l'internet, où le processus est "louche" et en raison de problèmes de connectivité, vous ne pouvez pas être en mesure de compléter la demande, et de se coincer ici.
Cela comme une développer est l'endroit où vous activez la boîte de dialogue pour être capables d'annulation.
Maintenant en tant qu'utilisateur, qui comprend clairement le paradigme de l'INTERFACE utilisateur d'Android, je sais que si je veux revenir à ce que je faisais avant, ou sur "annuler" l'opération en cours, je devrais frapper la touche retour.
En tant qu'utilisateur, c'est à savoir que sous Android, la touche de menu peuvent souvent révéler des options de ligne cachée, parfois sur un apparemment écran vide avec aucun moyen d'interagir.
C'est le comportement d'un utilisateur attend, et la façon dont la plate-forme est conçue. Vous pouvez très bien ajouter un bouton annuler, mais à partir d'un point de vue utilisateur qui comprend son téléphone, cela ne fait aucune différence, sur la touche retour est clairement le choix prévu à cet effet.
Activités et de l'Isu ont un flux, vous écoulement à travers des activités et de l'INTERFACE utilisateur "écrans" qui sont "empilées" et le bouton de retour, essentiellement des "pops" la dernière chose hors de la pile pour en revenir à l'endroit où vous étiez précédemment. Si vous voyez la boîte de dialogue comme l'autre de ces activités, vous voulez de la pop à partir du haut de la pile pour en revenir à ce qui est en dessous, ou à une activité précédente.
Si un développeur a un dialogue qui ne peut pas être annulé par l'arrière, il est soit, de par sa conception, pour lequel il ne peut, dans les cas, très bonne raison, ou bien, c'est un mauvais développement et de la surveillance sur le devloper.