2010-06-04 7 views
6

Certains utilisateurs me disent que mon application Android n'est pas utilisable car leur appareil ne possède pas de touche MENU.Traitement des appareils Android sans la touche MENU

Quelle est la meilleure façon de gérer ces appareils? Est-il possible de détecter si l'appareil manque d'une touche MENU et d'afficher un bouton de menu uniquement dans ce cas? Et surtout, comment testez-vous cela dans le simulateur?

Merci.

Modifier: Apparemment, le problème était que les utilisateurs ne savaient pas que la touche Menu était appelée la touche Menu.

Édition: De plus, certains appareils Android non officiels comme Eken et aPad n'ont pas de clé de menu physique.

+0

Sur intérêt, quel est cet appareil? Tous les appareils que j'ai vus jusqu'à présent, qu'ils aient ou non une boule de commande, des touches de direction, des boutons d'appel dur ou une tablette, ont un bouton de menu. –

+0

Demandé à tous les deux. L'un d'eux a dit que c'est le Motorola Droid, dont je suis sûr qu'il a un bouton de menu. Désolé, j'ai probablement posé la question trop tôt. – hpique

+0

Galaxy Nexus n'en a pas non plus. – Flame

Répondre

2

Je suis assez surpris qu'il y ait des appareils sans clé Menu là-bas, comme indiqué dans mon commentaire.

Cette question récente mentionne-il vraiment une disposition de l'API n'est pas pour détecter ceci:
Programatically detect presence of hardware call/hang up keys

Il semblerait également qu'il n'y a pas d'option matérielle « touche menu » que vous pouvez émuler en utilisant un AVD :
http://developer.android.com/guide/developing/tools/avd.html#hardwareopts

+1

Je pense @Christopher a raison - Je pense que chaque téléphone Android a un bouton de menu, mais il pourrait ne pas dire "Menu" dessus. –

+3

Le document CDD (Compatibility Definition Document) indique que tous les appareils Android doivent avoir une touche MENU ou un geste égal, un écran tactile, etc. http://source.android.com/compatibility/index.html – CommonsWare

+0

Idem pour Home and Back . Par conséquent, les appareils comme le X10 qui ont ces boutons et seulement les boutons ci-dessous l'écran :) –

7

À partir d'Android 3.0 (niveau d'API 11), les périphériques ne sont pas obligés d'avoir un bouton Menu dédié. (En savoir plus à ce sujet ici: http://developer.android.com/guide/topics/ui/menus.html)

Cela signifie que vous devez fournir un autre moyen à vos utilisateurs d'activer le menu. Vous pouvez créer un bouton et appeler openOptionsMenu(); lorsqu'il est pressé.

+0

'L'implémentation du périphérique DOIT présenter une clé de menu aux applications lorsque targetSdkVersion <= 10 et DEVRAIT NE PAS présenter une touche Menu lorsque la targetSdkVersion> 10.' –

+1

qui craint parce que j'ai aimé une interface utilisateur propre et masquer les options –

2

Vérifiez si l'appareil a touche de menu:

ViewConfiguration.get(context).hasPermanentMenuKey();

Questions connexes