• flutter入门


      //flutter不支持ios热更新,ios大,没有skia,路由入栈管理
    import 'package:flutter/material.dart';
    import 'package:english_words/english_words.dart';
    void main() {
      runApp(MyApp());
    }
    class MyApp extends StatelessWidget {
      // This widget is the root of your application.
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'Flutter Demo',
          home: new Scaffold(
              appBar: new AppBar(
                  title: new Text('Welcome to Flutter')),
              body: new Center(child: new RandomWords())),
              
        );
      }
    }
    class RandomWords extends StatefulWidget {
      @override
      createState() => new RandomWordsState();
    }
    class RandomWordsState extends State<RandomWords> {
      final _suggestions = <WordPair>[];
      final _saved = new Set<WordPair>();
      final _biggerFont = const TextStyle(fontSize: 18.0);
      void _pushSaved() {
        Navigator.of(context).push(new MaterialPageRoute(builder: (context) {
          final tiles = _saved.map((pair) {
            return new ListTile(
                title: new Text(pair.asPascalCase, style: _biggerFont));
          });
          final divided =
              ListTile.divideTiles(context: context, tiles: tiles).toList();
          return new Scaffold(
              appBar: new AppBar(title: new Text('saved')),
              body: new ListView(children: divided));
        }));
      }
     
      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          appBar: new AppBar(
              title: new Text('Startup name generator'),
              actions: <Widget>[
                new IconButton(icon: new Icon(Icons.list), onPressed: _pushSaved),
                new IconButton(icon: new Icon(Icons.search), onPressed: null)
              ]),
          body: _buildSuggestions(),
          floatingActionButton: new FloatingActionButton(
            tooltip: 'Add', // used by assistive technologies
            child: new Icon(Icons.add),
            onPressed: null,
          ),
        );
      }
      Widget _buildSuggestions() {
        return new ListView.builder(
            padding: const EdgeInsets.all(16.0),
            itemBuilder: (context, i) {
              if (i.isOdd) return new Divider();
              final index = i ~/ 2;
              if (index >= _suggestions.length) {
                _suggestions.addAll(generateWordPairs().take(10));
              }
              return _buildRow(_suggestions[index]);
            });
      }
      Widget _buildRow(WordPair pair) {
        final alreadySaved = _saved.contains(pair);
        return new ListTile(
          title: new Text(pair.asPascalCase, style: _biggerFont),
          trailing: new Icon(alreadySaved ? Icons.favorite : Icons.favorite_border,
              color: alreadySaved ? Colors.red : null),
          onTap: () {
            setState(() {
              if (alreadySaved) {
                _saved.remove(pair);
              } else {
                _saved.add(pair);
              }
            });
          },
        );
      }
    }
  • 相关阅读:
    求每天的收入和支出
    行列 转换 合并 分拆
    用户消费总金额 2000以下 20004000 40006000 查询连续数字,统计个数
    txt文件分割导入数据库
    字符串分割函数拆分成多行
    如何向一个自增字段插值
    sql中带in条件的查询及提高效率
    逐行计算、逐行递延、逐行更新
    SQL2005实现全文检索的步骤 停止数据库的用户连接
    查字段指定数据后一行记录
  • 原文地址:https://www.cnblogs.com/connie313/p/13659351.html
Copyright © 2020-2023  润新知