Comment afficher une boîte d'édition de texte "sur" l'écran?
J'ai une application qui a une mise en page principale de portrait (il est résolu que le portrait), et il y a un endroit pour taper du texte. Je voudrais lancer comme une fenêtre pop-up dans l'orientation paysage avec l'image de fond dans le brouillard. Je sais qu'il existe un Popup Widget, mais toutes les idées de la rotation de la zone d'édition de texte. La rotation en mode portrait (zone de texte uniquement) lorsque le clavier est sorti également de travailler, comme le ferait montrant un nouvel écran avec la zone de texte sur le clavier de la diapositive.
source d'informationauteur Chrispix
Vous devez vous connecter pour publier un commentaire.
La solution la plus simple à votre problème est d'afficher votre
EditText
dans un distinctdialog
sur le thème de l'Activité que vous lancez depuis votre main (portrait-fixe) de l'Activité.L'EditText Activité ne devrait pas avoir son orientation fixe, donc il va tourner comme vous pouvez vous attendre lorsque vous faites glisser le clavier.
De la création de la Saisie de Texte Activité
Créer une nouvelle Activité de l'contient uniquement les EditText Vue et tout ce que vous souhaitez inclure (sans doute les boutons OK /Annuler et peut-être une étiquette?). Dans le manifeste de définir son thème
Theme.Dialog
.La formation de buée ou de Brouiller les Activités de derrière une boîte de dialogue s'effectue en modifiant les propriétés de la Fenêtre de premier plan de l'Activité (de votre entrée de texte boîte de dialogue). Dans la méthode onCreate utilisation
getWindow().setFlags
pour appliquer un effet de flou de l'arrière-plan des Activités.Le lancement et la Lecture des Valeurs Saisies à partir de l'Entrée de Texte Activité
Utilisation
startActivityForResult
pour le lancement de la saisie de texte Activité. Au sein de cette Activité d'appelsetResult
pour revenir à la chaîne de texte est entré dans le retour de l'intention en utilisant les techniques décrites dans ce post.Remplacer la
onActivityResult
méthode pour écouter le résultat de la sous-Activité.Déclenchement de Lancement sur le Clavier Exposés
Vous pouvez lancer la saisie de texte Activité quand vous le voulez, mais si vous voulez toujours l'afficher lorsque le clavier est exposé, vous pouvez capturer cet événement explicitement.
Commencez par ajouter le
android:configChanges
attribut pour le portrait de l'Activité de l'entrée du manifeste. Il doit être enregistré pour écouterkeyboardHidden
.Au sein de cette Activité, remplacer
onConfigurationChanged
pour le lancement de la saisie de texte Activité.Vous pouvez cocher la case pour confirmer le clavier est exposée (non cachés) à l'aide de la newConfig variable avant de lancer la saisie de texte Activité.
Vous pouvez également utiliser la même technique pour retourner automatiquement à partir de l'entrée de texte activité lorsque le clavier est caché.