Flutter一步步实现x程GridNav网格布局_总体布局

# 本文收获与价值

看完本系列文章后你将可以作出以下100%还原携程 V8.22.0 首页 GridNav 的界面:ide

# 准备工做

开始前请先按照Flutter实现携程GirdNav布局_准备工做中的步骤完成准备工做;函数

注: 如下所有代码改变都在grid_widget.dart文件中机进行;布局

# 添加总体布局

  1. build 函数下方添加以下代码post

    Widget _hotelRow() {
      return ClipRRect(
        // todo: add top corner
        child: Container(
          height: 65,
          decoration: BoxDecoration(
            gradient: LinearGradient(
              colors: _hotelColors,
              stops: [0, 0.54],
            ),
          ),
          // todo: add hotel row
        ),
      );
    }
    
    Widget _flightRow() {
      return Container(
        height: 65,
        decoration: BoxDecoration(
          gradient: LinearGradient(
            colors: _flightColors,
            stops: [0, 0.54],
          ),
          // todo: add top border 
        ),
        // todo: add flight row
      );
    }
    
    Widget _travelRow() {
      return ClipRRect(
        // todo: add bottom corner
        child: Container(
          height: 65,
          decoration: BoxDecoration(
            gradient: LinearGradient(
              colors: _travelColors,
              stops: [0, 0.54],
            ),
            // todo: add top border 
          ),
          // todo: add travel row
        ),
      );
    }
    复制代码

    ⚠️注意是:ClipRRect⚠️ui

  2. build 函数中的spa

    // todo: add grid rows
    return Container();
    复制代码

    替换为:code

    return Column(
      children: <Widget>[
    	_hotelRow(),
    	_flightRow(),
    	_travelRow(),
      ],
    );
    复制代码

    F5运行到模拟器,查看cdn

  3. 添加cornerborder:blog

    // todo: add top corner 替换为:ip

    borderRadius: BorderRadius.only(
      topLeft: const Radius.circular(8),
      topRight: const Radius.circular(8),
    ),
    复制代码

    // todo: add bottom corner 替换为:

    borderRadius: BorderRadius.only(
      bottomLeft: const Radius.circular(8),
      bottomRight: const Radius.circular(8),
    ),
    复制代码

    将两处 // todo: add top border 替换为:

    border: Border(
      top: _borderSide,
    ),
    复制代码

    而后 cmd + s 保存更改后界面将会热更新以下:

至此,总体页面布局已经结束;

接下来请移步: Flutter实现携程GirdNav布局_hotel布局

相关文章
相关标签/搜索