2010-07-31 6 views
15

J'écris une application pour les téléphones Android et après mon écran de démarrage, il montre une activité qui a plusieurs vues filantes et edittext.Android App démarrer avec le clavier virtuel ouvert

Sur un appareil Android sans clavier, il affiche le clavier virtuel qui bloque alors le reste de l'application et me semble non professionnel. J'ai essayé de cacher le clavier virtuel dans la méthode activity.onCreate cependant pas disponible là.

La prochaine option que j'ai essayée était de mettre un écouteur onFocus sur la vue edittext offensante et toujours sans résultat.

Comment puis-je empêcher l'affichage du clavier virtuel jusqu'à ce qu'un utilisateur clique explicitement sur une vue edittext? Y a-t-il un moyen de donner un focus au spinner puisque l'un des spinner est avant la vue edittext dans le layout xml?

Répondre

8

Vous pouvez essayer ceci:

onCreate de votre activité, définissez le type d'entrée à TYPE_NULL. Ensuite, onTouch, définissez-le sur TYPE_CLASS_TEXT.

myText.setInputType(InputType.TYPE_NULL); 

    myText.setOnTouchListener(new View.OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
     myText.setInputType(InputType.TYPE_CLASS_TEXT); 
     myText.onTouchEvent(event); // call native handler 
     return true; // consume touch even 
     } 
    }); 
+0

Merci un groupe, maintenant mon application agit plus professionnel. J'ai remarqué que d'autres applications comme l'application de messagerie de Yahoo fonctionnent de la même manière, ce qui fait que les applications se ressemblent pour ajouter du sens et de la fonctionnalité. – jeep

+2

si cela a fonctionné pour vous, vous devez accepter la réponse. –

+0

Je crois que c'est une bonne solution de contournement, mais cette réponse mportuesisf est une meilleure. –

34

Vous pouvez essayer de définir l'attribut android:windowSoftInputMode de l'entrée de votre activité dans le fichier AndroidManifest.xml. Je pense que le mettre à stateHidden pourrait faire ce que vous voulez.

Voici le docs from the Android site.

+0

C'est le chemin à parcourir. Au moins travaillé pour moi. – Emilio

Questions connexes