这一部分,我们来写一下交互和打开新的页面
将lib/main.dart的代码替换
import 'package:flutter/material.dart';
import 'package:english_words/english_words.dart';
void main(List args) {
runApp(const MyApp());
}
class MyApp extends StatelessWidget{
const MyApp({super.key});
@override
Widget build(BuildContext context){
return MaterialApp(
title: 'Startup Name Generator',
home: Scaffold(
appBar: AppBar(
title: const Text('Startup Name Generator'),
),
body: Center(
child: RandomWords(),
),
),
);
}
}
class RandomWords extends StatefulWidget {
const RandomWords({super.key});
@override
State createState() => _RandomWordsState();
}
class _RandomWordsState extends State {
//保存建议的单词对
final List _suggesttions = [];
// 这个集合存储用户喜欢的单词对。Set中不允许重复的值
final Set _saved = new Set();
final _biggerFont = const TextStyle(fontSize: 18);
@override
Widget build(BuildContext context) {
return ListView.builder(
padding: const EdgeInsets.all(16.0),
itemBuilder: (context,i) {
if(i.isOdd) return const Divider();
final index = i~/2;
if(index >= _suggesttions.length){
_suggesttions.addAll(generateWordPairs().take(10));
}
return _buildRow(_suggesttions[index]);
},
);
}
Widget _buildRow(WordPair pair){
final bool alreadySaved