看完本系列文章后你将可以作出以下100%还原携程 V8.22.0
首页 GridNav
的界面:ide
开始前请先按照Flutter实现携程GirdNav布局_准备工做中的步骤完成准备工做;函数
注: 如下所有代码改变都在grid_widget.dart
文件中机进行;布局
将 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
将 build
函数中的spa
// todo: add grid rows
return Container();
复制代码
替换为:code
return Column(
children: <Widget>[
_hotelRow(),
_flightRow(),
_travelRow(),
],
);
复制代码
F5
运行到模拟器,查看cdn
添加corner
和border
: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布局