web-dev-qa-db-fra.com

Sauts de ligne dans le flottement de texte long

Comment créer des sauts de ligne dans un widget Texte long?

Par exemple, je crée une page biographique sur moi-même. Et j'ai trois paragraphes que je veux pouvoir afficher. Mais actuellement, je produis ces paragraphes dans un gros widget texte et la sortie n'a pas de sauts de ligne pour différencier les paragraphes. Comment puis je faire ça?

7
HDiamond

déclarez votre texte comme ceci:

final String someText = 
"stuff for the 1st paragraph\n\n"
"stuff for the 2nd paragraph\n\n"
"stuff for the 3rd paragraph\n\n";

puis vous pouvez simplement le rendre à l'intérieur d'un widget Text comme vous le feriez normalement.

9
blaneyneil

Je suis venu ici pour diviser une longue chaîne de code sur plusieurs lignes. En commençant par ceci:

final longString = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.';

Multi-ligne sans nouvelles lignes

Vous pouvez tout rendre visible dans votre éditeur de code en procédant comme suit:

final longString = 'Lorem ipsum dolor sit amet, consectetur adipiscing '
    'elit, sed do eiusmod tempor incididunt ut labore et dolore magna '
    'aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco '
    'laboris nisi ut aliquip ex ea commodo consequat. ';

ou ca:

final longString = 'Lorem ipsum dolor sit amet, consectetur adipiscing ' +
    'elit, sed do eiusmod tempor incididunt ut labore et dolore magna ' +
    'aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco ' +
    'laboris nisi ut aliquip ex ea commodo consequat.';

sans affecter le contenu de la chaîne. Autrement dit, aucun caractère de nouvelle ligne ne sera ajouté.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo conséquat.

Multi-lignes avec de nouvelles lignes

Si vous souhaitez que les sauts de ligne restent, vous pouvez utiliser des guillemets triples.

final longString = '''
Lorem ipsum dolor sit amet, 
consectetur adipiscing elit, 
sed do eiusmod tempor incididunt 
ut labore et dolore magna aliqua. 

Ut enim ad minim veniam, 
quis nostrud exercitation ullamco 
laboris nisi ut aliquip ex ea 
commodo consequat.
''';

qui produit:

Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.

Ut enim ad minim veniam,
quis nostrud exercice ullamco
laboris nisi ut aliquip ex ea
commodo conséquat.

Division des paragraphes

Comme cela a déjà été mentionné, ajoutez simplement deux \n caractères de nouvelle ligne à chaque paragraphe pour les séparer. Ou un \t tabulation au début et une nouvelle ligne à la fin.

final paragraph1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
final paragraph2 = 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.';
final text = paragraph1 + '\n\n' + paragraph2;

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo conséquat.

Voir aussi Signification du paragraphe dans les classes Flutter

2
Suragch

Je suppose que vous avez déjà un moyen dans le texte d'origine de dire qu'il devrait y avoir un saut de ligne tel que \n. Si votre paragraphe ressemble à: var text = "paragraph1\n\nparagraph2";, vous pourriez faire quelque chose comme ceci:

var split = text.split('\n').map((i) {
  if (i == "") {
    return Divider();
  } else {
    return Text(i);
  }
}).toList();
var displayElement = Column(children: split);

renvoyant le displayElement, qui aura un élément diviseur entre chaque paragraphe.

2
Ringil