Step 4: Ininite scrolling list

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2022-12-16 06:41:17 -06:00
parent de2e14fc3e
commit efbb99b3c2
1 changed files with 19 additions and 1 deletions

View File

@ -41,9 +41,27 @@ class _RandomWordsState extends State<RandomWords> {
@override
Widget build(BuildContext context) {
final wordPair = WordPair.random();
return ListView.builder(
padding: const EdgeInsets.all(16.0),
itemBuilder: /*1*/ (context, i) {
if (i.isOdd) return const Divider(); /*2*/
final index = i ~/ 2; /*3*/
if (index >= _suggestions.length) {
_suggestions.addAll(generateWordPairs().take(10)); /*4*/
}
return Text(
_suggestions[index].asPascalCase,
style: TextStyle(fontSize: 36, fontWeight: FontWeight.bold)
);
},
);
return Text(
wordPair.asPascalCase,
style: TextStyle(fontSize: 48, fontWeight: FontWeight.bold)
);
}
}