flutter初使用

import 'package:flutter/material.dart';
//english_words: 包含数千个最常用的英文单词以及一些实用功能.
//先在pubspec中配置版本,然后在此处引用
import 'package:english_words/english_words.dart';
//本示例创建一个Material APP
// => 单行函数的写法
void main() => runApp(new MyApp());
//statelessWidget,使应用本身也是一个widget
//statelessWiget不能改变,里面的所有属性都不能改变,所有的值都是最终的
//statefulWidget持有的状态可能在widget的生命周期中有变化
//使用StatefulWidget,需要继承StatefulWidget和State2个类
class MyApp extends StatelessWidget {
  //widget作用是提供bulid方法来描述如何根据其他较低级别的widget来显示自己。
  @override
  Widget build(BuildContext context) {
    final wordPair = new WordPair.random();
//    return new MaterialApp(
//      title: 'Welcome to Flutter',
//      //Scaffold是Material Library提供的一个widget,它提供了默认的导航栏,标题和包含主屏幕的widget树的body属性
//      home: new Scaffold(
//        appBar: new AppBar(
//          title: new Text('Welcome to Flutter2'),
//        ),
//        body: new Center(
////          child: new Text('Hello World2'),
//        //打印随机单词,以驼峰形式显示
////          child: new Text(wordPair.asPascalCase),
//          child: new RandomWords(),
//        ),
//      ),
//    );

      return new MaterialApp(
        title: "start",
        home: new RandomWords(),
      );
  }
}

class RandomWords extends StatefulWidget{
  @override
  createState() => new RandomWordsState();


}

class RandomWordsState extends State<RandomWords> {
  final listViewData = <WordPair>[];
  final textFont = const TextStyle(fontSize: 18.0);
  @override
  Widget build(BuildContext context) {
//    final wordPair = new WordPair.random();
//    return new Text(wordPair.asPascalCase);
      return new Scaffold(
        appBar: new AppBar(
          title: new Text("show listview"),
        ),
        body: showListView(),
      );
  }

  Widget showListView(){
     return new  ListView.builder(
       padding: const EdgeInsets.all(16.0),
       itemBuilder: (context,i){
         if(i.isEven) return new Divider();
         final index = i ~/2;
         if(index >= listViewData.length){
           listViewData.addAll(generateWordPairs().take(10));
         }
         return listviewTitle(listViewData[index]);
       }
     );
  }
  Widget listviewTitle(WordPair pair){
    return new ListTile(
      title: new Text(pair.asPascalCase,
      style:  textFont,),
    );
  }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值