Instead of creating a “ListView”, create a
ListView.builder that takes two key parameters: the
initial length of the list, and an ItemBuilder function.

The ItemBuilder function is similar to the getView
function in an Android adapter; it takes a position,
and returns the row you want rendered at that position.

Finally, but most importantly, notice that the onTap() function
doesn’t recreate the list anymore, but instead .adds to it.

Working with text

How do I set custom fonts on my Text widgets?

In Android SDK (as of Android O), you create a Font resource file and
pass it into the FontFamily param for your TextView.

In Flutter, place the font file in a folder and reference it in the
pubspec.yaml file, similar to how you import images.

fonts

family

MyCustomFont

fonts

asset

fonts/MyCustomFont.ttf