I am working on an app with a chat feature that shows messages in a ListView. The size of each "message" depends on the amount of text in that particular message.
I would like to put a limit on the number of lines, say 10 lines max. If a particular message happens to take up more than the limit, the text should be truncated near the end of the 10th line and a "FlatButton" with the text 'more...' be provided, which allows the user to open up that message to see all the text. For messages that fit, this button will not be shown.
The part I am struggling with is being able to truncate the text at the right point.
Currently I am thinking that guessing the number of lines a message might take up based on the number of characters and the font size would be the best approach, with the limitation that sometimes it might be off by a couple of lines. That is probably acceptable in this application.
As a bonus I also would like to render the "more..." button "inline" at the end of the text, but that is probably a separate question.