Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:flutter/material.dart';
- import 'package:english_words/english_words.dart';
- void main() => runApp(MyApp());
- class MyApp extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- title: 'Startup Name Generator',
- home: RandomWords()
- );
- }
- }
- class RandomWordsState extends State<RandomWords> {
- final List<WordPair> _suggestions = <WordPair>[];
- final Set<WordPair> _saved = new Set<WordPair>();
- final _biggerFont = const TextStyle(fontSize: 18.0);
- Widget _buildSuggestions() {
- return ListView.builder(
- padding: const EdgeInsets.all(22.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 wordPair) {
- final bool alreadySaved = _saved.contains(wordPair);
- return ListTile(
- title: Text(
- wordPair.asPascalCase,
- style: _biggerFont
- ),
- trailing: new Icon(
- alreadySaved ? Icons.favorite : Icons.favorite_border,
- color: alreadySaved ? Colors.red : null
- ),
- );
- }
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- title: Text('Startup Name Generator'),
- ),
- body:_buildSuggestions()
- );
- }
- }
- class RandomWords extends StatefulWidget {
- @override
- RandomWordsState createState() => new RandomWordsState();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement