chaoxiao 2020-01-17
使用 english_words 包实现生成列表的功能:
import ‘package:english_words/english_words.dart‘; import ‘package:flutter/material.dart‘; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: RandomWords(), ); } } class RandomWordsState extends State<RandomWords> { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(‘Startup Name Generator‘), ), body: _buildSuggestions(), ); } final _suggestions = <WordPair>[]; final _biggerFont = const TextStyle(fontSize: 18.0); Widget _buildSuggestions() { return ListView.builder( padding: const EdgeInsets.all(16.0), itemBuilder: (context, i) { if (i.isOdd) return Divider(); final index = i ~/ 2; if (index >= _suggestions.length) { _suggestions.addAll(generateWordPairs().take(10)); } return _buildRow(_suggestions[index]); } ); } Widget _buildRow(WordPair pair) { return ListTile( title: Text( pair.asPascalCase, style: _biggerFont, ), ); } } class RandomWords extends StatefulWidget { @override RandomWordsState createState() => RandomWordsState(); }