Flutter之Stepper源码浅析

在博客《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方法,即对竖直方向的Stepper源码作分析。而_buildVertical方法返回的就是一个listView(ListView的简单使用可

猜你喜欢

转载自blog.csdn.net/chunqiuwei/article/details/93769205