Je travaille sur une petite application de liste de tâches personnelle et jusqu'à présent, tout a très bien fonctionné. Il y a une petite bizarrerie que j'aimerais comprendre. Chaque fois que je vais ajouter un nouvel élément, j'ai une boîte de dialogue avec une vue EditText montrant à l'intérieur. Lorsque je sélectionne la vue EditText, le clavier apparaît pour saisir du texte, comme il se doit. Dans la plupart des applications, la valeur par défaut semble être que la touche Maj est maintenue pour la première lettre ... bien qu'elle ne le fasse pas à mon avis. Il doit y avoir un moyen simple de corriger, mais j'ai cherché la référence à plusieurs reprises et je ne la trouve pas. Je pense qu'il doit y avoir un attribut xml pour la référence chargée par l'adaptateur, mais je ne peux pas savoir ce que c'est.
la source
android:lines="7"
ne montre plus 7 lignes (il revient maintenant à 1 ligne par défaut)Utilisez simplement
android:inputType="textCapWords"
dans votre élément EditText.Par exemple:
Reportez-vous au lien suivant pour référence: http://developer.android.com/reference/android/widget/TextView.html#attr_android%3ainputType
la source
Appliquez la ligne suivante dans votre EditText en XML.
Il permettra également un support multi-lignes.
la source
ou
android:inputType="textCapSentences"
ne fonctionnera que si le paramètre de capitalisation automatique du clavier de votre appareil est activé.la source
J'ai rencontré le même problème, partageant juste ce que j'ai découvert. Pourrait vous aider, vous et les autres ...
Essayez ceci sur votre mise en page. Ajoutez la ligne ci-dessous dans votre
EditText
.fonctionne bien sur moi .. j'espère que cela fonctionne aussi sur vous ...
la source
Je peux vous assurer que les deux réponses seront en majuscule et ne feront pas d'edittext sur une seule ligne.
Si vous voulez le faire en XMl ci-dessous est le code
Si vous voulez le faire dans une activité / un fragment, etc. ci-dessous est le code
PS: Si vous avez d'autres propriétés, vous pouvez également les ajouter facilement avec un tuyau "|" symbole, assurez-vous simplement qu'il n'y a pas d'espace en xml entre les propriétés d'attribut
la source
Pour la capitalisation dans EditText, vous pouvez choisir les deux types d'entrée ci-dessous:
textCapSentences
Cela laissera la première lettre du premier mot comme Capital dans chaque phrase.
textCapWords Cela laissera la première lettre de chaque mot comme Capital.
Si vous voulez les deux attributs, utilisez simplement | signer avec les deux attributs
la source
Essayez ce code, il mettra en majuscule le premier caractère de tous les mots.
- définir addTextChangedListener pour la vue EditText
edt_text.addTextChangedListener (observateur);
- Ajouter TextWatcher
la source
Pour mettre en majuscule, vous pouvez effectuer les opérations suivantes avec le texte d'édition:
Pour mettre en majuscule la première lettre de chaque mot :
Pour mettre en majuscule la première lettre de chaque phrase :
Pour rendre chaque lettre majuscule:
Mais cela n'apportera que des modifications au clavier et l'utilisateur peut changer le mode d'écriture des lettres dans de petits cas.
Donc, cette approche n'est pas très appréciée si vous voulez vraiment les données au format majuscule, ajoutez d'abord la classe suivante:
Et alors,
Maintenant pour capitaliser chaque mot:
Pour mettre en majuscule uniquement le premier mot:
la source
Définissez le type d'entrée en XML ainsi qu'en fichier JAVA comme celui-ci,
En XML,
Il permettra également le multiligne et le fichier JAVA,
assurez-vous que le paramètre de capitalisation automatique de votre clavier est activé .
la source
Dans votre fichier XML de mise en page:
ensemble
android:inputType="textCapSentences"
Sur votre
EditText
avoir le premier alphabet du premier mot de chaque phrase comme majusculeOu
android:inputType="textCapWords"
sur votre EditText pour avoir le premier alphabet de chaque mot comme majusculela source
utiliser ce code uniquement pour la mise en majuscule de la première lettre pour EditText
MainActivity.xml
MainActivity.java
la source
Auparavant, c'était le cas
android:capitalize="words"
, désormais obsolète. L'alternative recommandée est d'utiliserandroid:inputType="textCapWords"
Veuillez noter que cela ne fonctionnera que si le paramètre de capitalisation automatique du clavier de votre appareil est activé.
Pour ce faire par programme, utilisez la méthode suivante:
setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
la source
j'ai fondé et ma solution: vous avez 2 façons de le résoudre en java:
et xml:
la source
Par programme
la source
si vous écrivez des styles dans styles.xml,
supprimer la propriété android: inputType et ajouter les lignes ci-dessous
la source