在博客《Flutter之Stepper简单应用》一文中简单介绍了Stepper的使用方法,现在趁热打铁,就其实现原理来解析一波,算是加深对Flutter相关知识的学习。 在开篇之前需要简单的了解Flutter的如下知识储备: Row组件:用来水平排列一个布局 Column组件:用来竖直排列一个布局。
下面就来详细分析Stepper的实现原理,我们知道Stepper运行效果如下所示(图1): 观察其源码可知,整个跟布局是一个ListView,在_StepperState整个类的
build(BuildContext context)
方法里可以看出端倪:
@override
Widget build(BuildContext context) {
switch (widget.type) {
case StepperType.vertical://构建竖直方向的Stepper列表:如上图
return _buildVertical();
case StepperType.horizontal:
return _buildHorizontal();//构建水平方向的Stepper列表
}
return null;
}
本片博文为了方便就分析_buildVertical方法