Android: comment rendre le clavier toujours visible?

Dans Android, comment rendons le clavier du périphérique toujours visible dans l'application? La partie supérieure affiche le contenu que l'application souhaite rendre et la partie inférieure affiche toujours le clavier.

  • Comment puis-je utiliser onTouchListeners sur chaque mot dans un TextView?
  • Obtenez le fragment actuel et enregistrez la méthode onSaveInstanceState () pour l'orientation de l'écran
  • Que se passe-t-il si je laisse toutes mes images dans le dossier drawable-hdpi?
  • Html.ImageGetter
  • L'effet Android de la page Android sur la mise en page / s
  • Je veux jouer une vidéo à partir de mes actifs ou de mon dossier brut
  • Impossible de trouver des outils dans SDK
  • Impossible de construire un projet Android avec Gradle (en utilisant les annotations Android)
  • Quelle est la bonne configurationAudioEncodingBitRate sur la voix enregistrée
  • Impossible d'appeler getBootClasspath () avant que setTargetInfo () ne soit appelé
  • Html.fromHtml obsolète dans Android N
  • Maven refuse de télécharger aar conditionnement conditionné à partir d'un dépôt distant
  • 3 Solutions collect form web for “Android: comment rendre le clavier toujours visible?”

    Ajoutez android: windowSoftInputMode = "stateAlwaysVisible" à votre activité dans le fichier AndroidManifest.xml:

    <activity android:name=".MainActivity" android:label="@string/app_name" android:windowSoftInputMode="stateAlwaysVisible" /> 

    Dans mon application de test, cela montre le clavier au démarrage de l'application, bien qu'il ne soit pas réparé, mais peut être rejeté en appuyant sur le bouton Précédent.

    Pour vous assurer que le clavier est toujours visible, vous devrez créer votre propre clavier dans le cadre de l'interface utilisateur de votre application. Voici un didacticiel pour vous montrer comment faire avec KeyboardView: http://www.fampennings.nl/maarten/android/09keyboard/index.htm

    Vous devez avoir un EditText dans votre mise en page et cela doit EditText classe de base EditText . Puis Remplacer la méthode onKeyPreIme() et renvoyer True . Maintenant, votre clavier sera toujours visible et ne pourra pas être renvoyé par la touche Retour.

    Attention : en raison de votre méthode onKeyPreIme() renvoie true vous ne pouvez pas quitter votre application à l'aide de la touche arrière.

    Exemple:

     public class CustomEdit extends EditText { public CustomEdit(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { // TODO Auto-generated method stub Log.e("Log", "onKeyPreIme"); return true; //return super.onKeyPreIme(keyCode, event); } } 

    OnKeyPreIme () – Développeur Android

    J'ai trouvé un moyen qui fonctionne pour moi de garder le clavier doux visible après une modification dans mon champ myEditText de la classe EditText . L'astuce consiste à remplacer la méthode onEditorAction afin qu'elle retourne true

      myEditText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { return true; } }); 

    Ou alors, onEditorAction retourne true uniquement après le clic-clé "Terminé" ( IME_ACTION_DONE ) autrement false

      myEditText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if(actionId==EditorInfo.IME_ACTION_DONE){ Log.i(LOG_TAG, "IME_ACTION_DONE"); return true; } return false; } }); 

    (Voir aussi cette réponse sur la méthode onEditorAction )

    Ajouter android:windowSoftInputMode="stateAlwaysVisible au fichier Manifest a aidé le clavier doux affiché au début de l'activité, mais il n'a pas empêché qu'il disparaisse à nouveau lorsque la touche" Done "a été cliquée après une édition.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.