Android开发FlutterAndroid技术知识

Flutter 控件系列教程之GridTile

2020-04-24  本文已影响0人  i校长
title description type
GridTile GridTile介绍及使用案例 widget

GridTile

继承关系
Object>Diagnosticable>DiagnosticableTree>Widget>StatelessWidget>GridTile

基本用法

GridTile(
        header: Container(
          color: Color(0x22000000),
          height: 50,
          child: Text(
            'header',
            style: TextStyle(color: Colors.redAccent),
          ),
        ),
        child: Container(
          color: Color(0x22119233),
          height: 50,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              Text(
                'start',
                textAlign: TextAlign.center,
                style: TextStyle(color: Colors.redAccent),
              ),
              Text(
                'end',
                textAlign: TextAlign.center,
                style: TextStyle(color: Colors.redAccent),
              ),
            ],
          ),
        ),
        footer: Container(
          color: Color(0x22000000),
          height: 50,
          child: Text(
            'footer',
            style: TextStyle(color: Colors.redAccent),
          ),
        ),
      )

属性介绍

效果图

切面效果图

特点

通过代码和图可以看到GridTile有如下几个特点:

源码分析

 @override
  Widget build(BuildContext context) {
    if (header == null && footer == null)
      return child;

    return Stack(
      children: <Widget>[
        Positioned.fill(
          child: child,
        ),
        if (header != null)
          Positioned(
            top: 0.0,
            left: 0.0,
            right: 0.0,
            child: header,
          ),
        if (footer != null)
          Positioned(
            left: 0.0,
            bottom: 0.0,
            right: 0.0,
            child: footer,
          ),
      ],
    );
  }

总结

GridTile适合做带有页眉页脚的页面样式,但有一点child 顶部和底部会被页眉页脚覆盖,用的时候需要注意。

作者:i校长
博客地址:Flutter 控件系列教程之GridTile
网站:jetpack
Github: ibaozi-cn

上一篇 下一篇

猜你喜欢

热点阅读