Aller au contenu

comment capter l'événement lorsque le clavier virtuel apparaît?


morakevi

Recommended Posts

est-il possible de savoir quand le clavier virtuel apparaît à l'écran?

et est ce qu'il est possible de personnalité le clavier vituel. par exemple si l'on va sur le marquet Android, on peut voir que la touche à la ligne est remplacer par une loupe. est-ce possible d'utiliser ce clavier la plutot que celui par défaut?

merci

Lien vers le commentaire
Partager sur d’autres sites

Pour catcher l'évènement du clavier virtuel, essaie cette méthode : http://community.developer.motorola.com/t5/Android-App-Development-for/Handling-the-virtual-keyboard-programmatically/td-p/7998

Pour ta 2eme question je ne pense pas que ce soit possible ! (je pense que l'utilisateur peut changer le clavier virtuel de facon externe a tout programme, mais je ne pense pas qu'on puisse le faire ds le code !)

Lien vers le commentaire
Partager sur d’autres sites

j'ai trouvé ceci sur le net:

@Override

public void onConfigurationChanged(Configuration newConfig) {

super.onConfigurationChanged(newConfig);

// Checks whether a hardware keyboard is available

if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {

Toast.makeText(this, "keyboard visible", Toast.LENGTH_SHORT).show();

} else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) {

Toast.makeText(this, "keyboard hidden", Toast.LENGTH_SHORT).show();

}

le problème c'est que pour que cette méthode soit appelée, il faut spécifier la balise configChanges de l'activity en question dans le manifest.

j'ai sélectionné tout les éléments proposé et ma fonction n'est pas appelée lorsque le clavier apparait. j'ai essayé une rotation, la fonction est bien exécutée. vous n'avez pas une idée ?

voici la balise:

<activity android:name="RapportActivity" android:windowSoftInputMode="stateHidden" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|fontScale"></activity>
Lien vers le commentaire
Partager sur d’autres sites

A mon avis,

- Soit ca ca marche (pas testé) :http://www.ninthavenue.com.au/how-to-check-if-the-software-keyboard-is-shown-in-android

- Soit tu as la méthode qui regarde si le layout principal est "resizé"

- Soit tu ne peux vraiment pas et il faut re-reflechir a ton cas d'utilisation pour trouver un autre moyen d'avoir l'info que tu veux (qui n'est pas forcément celle-la en soi) !

Lien vers le commentaire
Partager sur d’autres sites

cela fonctionne mais pour un clavier physique et non virtuel.

j'aurai aimez savoir. il y a til moyen d'executer une méthode lorsqu'un widget reçoit le layout ?

Lien vers le commentaire
Partager sur d’autres sites

;-) En fait le plus dur a quelques cas pres sous Android c'est de trouver les bons mots clé, et ensuite...google ;-)

Si tu as ce qu'il faut pour ces questions, met un "[Resolu]" ds le titre du premier post, mm si ce resolu l'est par la negative !

Pour d'autres questions n'hesite pas a ouvrir un autre post !

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...