Flutter 动态调用列表

///lib/main.dart

import 'package:flutter/material.dart';

void main() => runApp(MyApp(
  //传递参数
  items:new List<String>.generate(100, (i)=>"Item $i")
));

class MyApp extends StatelessWidget{
  //接收参数
  final List<String> items;
  MyApp({Key key,@required this.items}):super(key:key);

  @override

  Widget build(BuildContext context){
    return MaterialApp(
      title: 'Demo',
      home: Scaffold(
        appBar: new AppBar(title: new Text('title demo')),
        body: new ListView.builder(
          itemCount: items.length,
          itemBuilder: (context,index){
            return new ListTile(
              title: new Text('${items[index]}'),
            );
          },
        )
      ),
    );
  }
}
import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('FlutterDemo'),
        ),
        body: LayoutDemo(),
      ),
    );
  }
}

class LayoutDemo extends StatelessWidget {

  List<Widget> _getListData() {
    List<Widget> list = new List();
    for (var i = 0; i < 20; i++) {
      list.add(
        Container(
          alignment: Alignment.center,
          child: Text(
            '这是第$i条数据',
            style:TextStyle(color:Colors.white,fontSize:20)
          ),
          color: Colors.blue,
        )
      );
    }
    return list;
  }


  @override
  Widget build(BuildContext context) {
    return GridView.count(
      crossAxisSpacing: 20.0, //水平子 Widget之间的距离
      mainAxisSpacing: 20.0, //垂直子 Widget之间的距离
      padding: EdgeInsets.all(20),
      crossAxisCount: 2, //一行的Widget 数量
      childAspectRatio: 0.7, //设置子Widget宽高比例
      children: this._getListData(),
    );
  }
}

效果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值