zoukankan      html  css  js  c++  java
  • Flutter——GridView组件(网格列表组件)

    GridView组件的常用参数:

    名称 类型 说明
    scrollDirection
    Axis
    滚动方法
    padding
    EdgeInsetsGeometry
    内边距
    resolve
    bool
    组件反向排序
    crossAxisSpacing
    double
    水平子 Widget 之间间距
    mainAxisSpacing
    double
    垂直子 Widget 之间间距
    crossAxisCount
    int
    一行的 Widget 数量
    childAspectRatio
    double
    子 Widget 宽高比例
    children
     
    <Widget>[]
    gridDelegate
    SliverGridDelegateWithFix
    edCrossAxisCount(常用)
    SliverGridDelegateWithMax
    CrossAxisExtent 
    控制布局主要用在
    GridView.builder 里面
    • GridView.count实现静态网格布局

    import 'package:flutter/material.dart';
    
    
    void main(){
      runApp(MaterialApp(
        title: "GridView",
        home: MyApp(),
      ));
    }
    
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: GridView.count(
            crossAxisCount: 2,
            mainAxisSpacing: 10.0,
            crossAxisSpacing: 10.0,
            padding: EdgeInsets.all(5.0),
            children: <Widget>[
              Container(
                color: Colors.pink,
              ),
              Container(
                color: Colors.pink,
              ),
              Container(
                color: Colors.pink,
              ),
              Container(
                color: Colors.pink,
              ),
              Container(
                color: Colors.pink,
              ),
              Container(
                color: Colors.pink,
              ),
              Container(
                color: Colors.pink,
              ),
              Container(
                color: Colors.pink,
              ),
            ],
          ),
        );
      }
    }
    • GridView.builder实现动态网格列表

    import 'package:flutter/material.dart';
    
    
    void main(){
      runApp(MaterialApp(
        title: "GridView",
        home: MyApp(),
      ));
    }
    
    
    class MyApp extends StatelessWidget {
      List list = new List<String>();
      MyApp() {
        for(var i = 0; i < 9; i++) {
          this.list.add("图片$i");
        }
      }
      
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: GridView.builder(
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(  // 注意,使用了GridView.builder,又要设置网格属性的话,要用这个属性!
                crossAxisCount: 3,
                mainAxisSpacing: 10.0,
                crossAxisSpacing: 10.0,
              ),
              itemCount: this.list.length,
              itemBuilder: (context,index) {
                return Container(
                  color: Colors.pink,
                  child: Center(
                    child: Text(this.list[index]),
                  )
                );
              }
          )
        );
      }
    }
  • 相关阅读:
    java基础知识:私有成员变量
    分布式架构:概述一
    java基础知识:内存
    原油期货价格跌至-37美元/桶的影响
    贷款利息
    java基础知识:IntelliJ IDEA的基础设置
    正则表达式的常用方法
    http服务器三:自己写一个服务器实现转发功能
    bzoj3875: [Ahoi2014&Jsoi2014]骑士游戏(用spfa解决有后效性的dp)
    bzoj2118: 墨墨的等式(巧妙的单源最短路+priority_queue)
  • 原文地址:https://www.cnblogs.com/chichung/p/11989914.html
Copyright © 2011-2022 走看看