Skrrubs
Skrrubs

Reputation: 93

How do I limit the number of words in a Text Widget in Flutter?

I want to know how I can limit the number of words that will be displayed when using a Text widget in flutter, or even if there is a way in doing this.

Text(
    "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas non ante porttitor leo rhoncus imperdiet et nec nibh. Maecenas id turpis ac purus venenatis elementum non eu eros. Nam sit amet luctus dui. Fusce at iaculis tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean mauris libero, rhoncus sit amet diam eget, imperdiet commodo mi. Nulla eget ex ac augue aliquam convallis a at felis. Nullam at dui viverra, efficitur eros quis, viverra urna. Duis et ornare elit.",
                        style: TextStyle(fontSize: 16),
                      ),

I would like to limit the words to 50 or 20 word and for it to be displayed like "ipsum..."

Upvotes: 0

Views: 731

Answers (1)

Gabriel Costache
Gabriel Costache

Reputation: 969

If you know for sure that your words are divided by spaces you can split it and keep only the number of words you want to:

String myString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
String displayedString = '';
int words = 5;

List<String> myStringList = myString.split(' '); //Splitting the string where it finds an empty space;

for(int i = 0; i<words; i++){
   displayedString += myStringList[i];
}

//displayedString now is equal to: "Lorem ipsum dolor sit amet,"
//You might want to delete punctuation in myStringList[myStringList.length-1]

Upvotes: 1

Related Questions