Comme nous avons la fonctionnalité android:textAllCaps="true"
dans Textview d'Android, comment pouvons-nous donner cette même fonctionnalité dans Text () Widget de Flutter?
Je sais que Text('Abc'.toUpperCase())
est un moyen mais je ne veux pas le faire manuellement. Y a-t-il une propriété du widget Text () qui le convertit automatiquement ou un widget qui a une propriété similaire?
4 Réponses :
Utilisez la fonction suivante pour le premier mot en majuscules
Text(this.getCapitalizeString(str: listObj[position]);
Utilisation :
String getCapitalizeString({String str}) { if (str.length <= 1) { return str.toUpperCase(); } return '${str[0].toUpperCase()}${str.substring(1)}'; }
Il semble que OP a fourni la meilleure approche à ce jour dans sa question initiale: utilisez simplement Text('Abc'.toUpperCase())
Ce n'est pas ce que la question demandait: comment mettre le mot entier en majuscule.
semble, il met à jour la question.
Pour mettre en majuscule le texte comme ceci: "ceci n'est qu'un exemple" à ce "Ceci n'est qu'un exemple",
utilisez cette fonction:
firstCharacterUpper(String text) { List arrayPieces = List(); String outPut = ''; text = 'this is only a example'; // This is not necessary, is only for the example. The text here is that one is passed in parameter. text.split(' ').forEach((sepparetedWord) { arrayPieces.add(sepparetedWord); }); arrayPieces.forEach((word) { word = "${word[0].toString().toUpperCase()}${word.toString().substring(1)} "; outPut += word; }); return outPut; }
OutPut: "Ceci n'est qu'un exemple".
juste pour simplifier la fonction des réponses avant
String getCapitalizeString(String str) { String cRet = ''; str.split(' ').forEach((word) { cRet += "${word[0].toUpperCase()}${word.substring(1).toLowerCase()} "; }); return cRet.trim(); }
La question demandait de mettre en majuscule le mot entier et pas seulement la première lettre.
Ma solution est comme ceci:
Apple
et la méthode personnalisée est
String _capitalize(String value) { return value.substring(0, 1).toUpperCase() + value.substring(1, value.length); }
Retour
Text(_capitalize("apple"))
Texte ('Wow'.toUpperCase ())
github.com/flutter/flutter/issues/22695
par cela, nous convertissons manuellement la chaîne en majuscules, y a-t-il une propriété de texte qui le convertit automatiquement ou un widget dont la propriété est similaire à Text ()?
Désolé
Text
ne le permet pas, mais il existeTextField
akaEditText
dans Android, qui a la propriété de capitalisation.@CopsOnRoad merci de l'avoir partagé, mais cette réponse ne fonctionne pas.
Oui, ce n'est pas la réponse, je voulais juste vous faire savoir qu'il n'y a aucun moyen de le faire dans
Text
.@CopsOnRoad merci pour l'effort.
@Eugene rien ne va pas Je trouve un moyen plus court et courant de créer un widget Text () commun pour tous.