J'ai une application qui a une disposition principale de portrait (il est fixé comme portrait), et il y a un endroit pour taper du texte. Je voudrais lancer comme une fenêtre contextuelle en orientation paysage avec l'image de fond embuée. Je sais qu'il y a un widget contextuel, mais toutes les idées pour faire tourner la boîte d'édition de texte seraient géniales. Le faire pivoter en mode portrait (zone de texte uniquement) lorsque le clavier est déplacé fonctionnerait également, tout comme le ferait un nouvel écran avec la zone de texte sur la diapositive du clavier.Comment afficher une zone d'édition de texte "sur" l'écran?
Répondre
La solution la plus simple à votre problème est d'afficher votre EditText
dans une activité thématique séparée dialog
que vous lancez à partir de votre activité principale (portrait fixe).
L'activité EditText ne doit pas avoir son orientation corrigée, elle pivote donc comme vous le souhaitez lorsque vous faites glisser le clavier.
Création du texte Activité d'entrée
Créer une nouvelle activité de gestion contient seulement le EditText Voir et tout ce que vous voulez inclure (probablement boutons OK/Annuler et peut-être une étiquette?). Dans le manifeste mettre son thème à Theme.Dialog
.
<activity android:name="TextEntryActivity"
android:label="My Activity"
android:theme="@android:style/Theme.Dialog"/>
brumisation ou brouillant les activités derrière une boîte de dialogue se fait en modifiant les propriétés de la fenêtre de l'activité de premier plan (votre dialogue de saisie de texte). Dans sa méthode onCreate, utilisez getWindow().setFlags
pour appliquer un flou aux activités de fond.
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
Lancement et lecture de la valeurs programmées Texte Activité Entrée
Utilisez startActivityForResult
pour lancer l'activité de saisie de texte. Dans cette activité, appelez setResult
pour renvoyer la chaîne de texte entrée dans l'intention renvoyée en utilisant les techniques décrites dans this post. Remplacer la méthode onActivityResult
pour écouter le résultat de la sous-activité.
Déclencher Lancement sur le clavier Exposed
Vous pouvez lancer l'entrée texte activité chaque fois que vous voulez, mais si vous voulez afficher toujours lorsque le clavier est exposé, vous pouvez capturer cet événement explicitement.
Commencez par ajouter l'attribut android:configChanges
à l'entrée du manifeste de l'activité Portrait. Il devrait être enregistré pour écouter keyboardHidden
.
android:configChanges="keyboardHidden"
Au sein de cette activité, passer outre onConfigurationChanged
pour lancer l'activité de saisie de texte.
@Override
public void onConfigurationChanged(Configuration newConfig) {
Intent i = new Intent(this,TextEntryActivity.class);
startActivityForResult(i, STATIC_INTEGER_VALUE);
}
Vous pouvez vérifier pour confirmer le clavier est exposé (plutôt que caché) en utilisant la variable NewConfig avant de lancer l'activité de saisie de texte.
Vous pouvez également utiliser la même technique pour revenir automatiquement à l'activité de saisie de texte lorsque le clavier est masqué.
- 1. Comment afficher le HTML dans une zone de texte
- 2. Comment afficher un accent grave dans une zone de texte
- 3. Afficher les données dans une zone de texte
- 4. Afficher uniquement les numéros dans une zone de texte
- 5. DrawString sur une zone de texte
- 6. Comment afficher une valeur de champ * foreign * dans une zone de texte?
- 7. Comment effacer une zone de texte onfocus?
- 8. Comment ajouter une zone de texte dynamiquement?
- 9. Afficher le texte d'aide en cliquant sur la zone de texte en utilisant jquery
- 10. Comment afficher une zone de texte, un bouton, etc. dans une applet Java?
- 11. focus sur la zone de texte
- 12. remplir une zone de texte sur un formulaire - oracle
- 13. sur zone de texte (sans espace)
- 14. comment puis-je limiter une zone de texte pour afficher 2 chiffres après le point décimal?
- 15. Comment puis-je afficher des documents Word dans une zone de texte en utilisant PHP?
- 16. Plugin pour intellisense sur une zone de texte?
- 17. Comment utiliser SetFocus sur le contrôle de zone de texte?
- 18. Zone de texte HTMl
- 19. définir un texte de zone de texte égal au texte de la zone de texte sur un formulaire différent?
- 20. ASP.NET Afficher les éléments sélectionnés de la zone de liste dans la zone de texte
- 21. Comment afficher une icône dans la zone de notification?
- 22. Comment justifiez-vous le texte dans une zone de texte HTML?
- 23. Afficher la ligne actuelle et le numéro de colonne pour une zone de texte
- 24. zone de texte donnant des problèmes sur la page ASP.Net
- 25. Comment peupler une zone de texte avec jquery et linebreaks?
- 26. Afficher la zone de texte visible en haut de l'autre entrée de texte
- 27. Comment imprimer une valeur dans la zone de texte à partir du fichier texte?
- 28. Imprimer uniquement une zone de texte
- 29. Intégrer l'image dans une zone de texte
- 30. Nouvelle zone de texte
je vous remercie pour votre avis. – Chrispix