zoukankan      html  css  js  c++  java
  • 9Flutter GridView组件 以及动态GridView

    main.dart

    import 'package:flutter/material.dart';
    import 'res/listData.dart';
    /*
          GridView :
          通过GridView.count实现网格布局
          通过GridView.builder实现网格布局
          scrollDirction  Axis 滚动方法
          padding  EdgeInsetsGeometry 内边距
          resolve  bool  组件反向排序
          crossAxisSpacing  double 水平子Widget之间间距
          mainAxisSpacing  double垂直子Widget之间间距
          crossAxisCount  int 一行的Widget数量
          childAspectRatio  double  子Wiget宽高比例
    */
    
    void main() {
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        // TODO: implement build
        return MaterialApp(
          home: Scaffold(
            appBar: AppBar(
              title: Text('GridView'),
            ),
            body: HomeContent(),
          ),
        );
      }
    }
    
    class HomeContent extends StatelessWidget {
      //GridView.count
      //自定义方法:
      // 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;
    
      //   var tempList = listData.map((value) {
      //     return Container(
      //       child: Column(
      //         children: <Widget>[
      //           Image.network(value['imageUrl']),
      //           SizedBox(height: 10),
      //           Text(
      //             value['title'],
      //             textAlign: TextAlign.center,
      //             style: TextStyle(fontSize: 20),
      //           )
      //         ],
      //       ),
      //       decoration: BoxDecoration(
      //         border: Border.all(
      //           color: Color.fromRGBO(233,233,233,0.9),
      //            1
      //         )
      //       ),
      //     );
      //   });
      //   return tempList.toList();
      // }
    
      // @override
      // Widget build(BuildContext context) {
      //   return GridView.count(
      //     crossAxisSpacing: 10.0, //水平子Widget之间间距
      //     mainAxisSpacing: 10.0, //垂直Widget之间的间距
      //     padding: EdgeInsets.all(10),
      //     crossAxisCount: 2,
      //     // childAspectRatio: 0.7, //宽度和高度的比例
      //     children: this._getListData(),
      //   );
      // }
    
      //GridView.builder动态网格;
    
      Widget _getListData(context, index) {
        return Container(
          child: Column(
            children: <Widget>[
              Image.network(listData[index]['imageUrl']),
              SizedBox(height: 10),
              Text(
                listData[index]['title'],
                textAlign: TextAlign.center,
                style: TextStyle(fontSize: 20),
              )
            ],
          ),
          decoration: BoxDecoration(
              border:
                  Border.all(color: Color.fromRGBO(233, 233, 233, 0.9),  1)),
        );
      }
    
      @override
      Widget build(BuildContext context) {
        return GridView.builder(
          gridDelegate:SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisSpacing: 10.0,
            mainAxisSpacing: 10.0,
            crossAxisCount: 2
          ),
          itemCount: listData.length,
          itemBuilder: this._getListData,
        );
      }
    }

    res/listData.dart

    List listData=[
      {
        "title":"Candy Shop",
        "author":"Mohamed Chahin",
        "imageUrl":"https://www.itying.com/images/flutter/1.png",
      },
      {
        "title":"Candy Shop",
        "author":"Mohamed Chahin",
        "imageUrl":"https://www.itying.com/images/flutter/2.png",
      },
      {
        "title":"Candy Shop",
        "author":"Mohamed Chahin",
        "imageUrl":"https://www.itying.com/images/flutter/3.png",
      },
      {
        "title":"Candy Shop",
        "author":"Mohamed Chahin",
        "imageUrl":"https://www.itying.com/images/flutter/4.png",
      },{
        "title":"Candy Shop",
        "author":"Mohamed Chahin",
        "imageUrl":"https://www.itying.com/images/flutter/5.png",
      }
    ];
  • 相关阅读:
    线段树入门总结
    从零基础学三分查找
    Codeforces Beta Round #1 A,B,C
    isupper()函数
    matlab字符串操作总结
    hdu 4873 ZCC Loves Intersection(大数+概率)
    设计模式入门之桥接模式Bridge
    有关UIWebView的SSL总结
    vmware虚拟机上linux操作系统进行tty1~tty6切换方法和具体步骤
    Python BeautifulSoup4 使用指南
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/11446693.html
Copyright © 2011-2022 走看看