Android 如何在颤振中创建自定义步进器?

Android 如何在颤振中创建自定义步进器?,android,ios,flutter,dart,flutter-layout,Android,Ios,Flutter,Dart,Flutter Layout,我想在颤振中创建这种类型的步进机 到目前为止,我已经尝试了两种方法 Widget get stepper => Container( padding: EdgeInsets.all(15), color: Colors.white, child: ListView.builder( itemCount: stepperLIst.length, shrinkWra

我想在颤振中创建这种类型的步进机

到目前为止,我已经尝试了两种方法

Widget get stepper =>
      Container(
          padding: EdgeInsets.all(15),
          color: Colors.white,
          child: ListView.builder(
              itemCount: stepperLIst.length,
              shrinkWrap: true,
              physics: NeverScrollableScrollPhysics(),
              itemBuilder: (context, position) {
                return IntrinsicHeight(
                  child: Container(
                    margin: const EdgeInsets.only(bottom: 20),
                    child: Row(
                        crossAxisAlignment: CrossAxisAlignment.stretch,
                        mainAxisSize: MainAxisSize.min,
                        children: [
                          Column(
                            mainAxisSize: MainAxisSize.min,
                            verticalDirection: VerticalDirection.down,
                            children: [
                              Image.asset(stepperLIst[position].iconName),
                              SizedBox(height: 10),
                              CustomPaint(painter: LineDashedPainter(lineColor: Colors.grey))

                            ],
                          ),
                          SizedBox(width: 10),
                          Expanded(
                            child: Column(
                              mainAxisSize: MainAxisSize.min,
                              crossAxisAlignment: CrossAxisAlignment.start,
                              children: [
                                Text(
                                  stepperLIst[position].tittle,
                                  style: BaseStyles.textStyle.copyWith(fontFamily: BaseFonts.bold),
                                ),
                                SizedBox(height: 10),
                                Text(
                                  stepperLIst[position].value,
                                  style: BaseStyles.textStyle,
                                )
                              ],
                            ),
                          )
                        ]),
                  ),
                );
              }));
也可以使用堆栈

  Widget get stepper2 =>
  Container(
      padding: EdgeInsets.all(15),
      color: Colors.white,
      child: ListView.builder(
          itemCount: stepperLIst.length,
          shrinkWrap: true,
          physics: NeverScrollableScrollPhysics(),
          itemBuilder: (context, position) {
            return Stack(
              children: <Widget>[
                Positioned(
                  left: 0,
                  top: 0,
                  bottom: 0,
                  child: Column(
                    mainAxisSize: MainAxisSize.min,
                    verticalDirection: VerticalDirection.down,
                    children: [
                      Image.asset(stepperLIst[position].iconName),
                      SizedBox(height: 10),
                      CustomPaint(painter: LineDashedPainter(lineColor: Colors.grey))

                    ],
                  ), // replace with your image
                ),
                Padding(
                  padding: const EdgeInsets.only(left: 40),
                  child: Column(
                    mainAxisSize: MainAxisSize.min,
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      Text(
                        stepperLIst[position].tittle,
                        style: BaseStyles.textStyle.copyWith(fontFamily: BaseFonts.bold),
                      ),
                      SizedBox(height: 10),
                      Text(
                        stepperLIst[position].value,
                        style: BaseStyles.textStyle,
                      )
                    ],
                  ),
                )
              ],
            );
          }));
Widget get stepper2=>
容器(
填充:边缘设置。全部(15),
颜色:颜色,白色,
子项:ListView.builder(
itemCount:stepperLIst.length,
收缩膜:对,
物理学:NeverscrollableScroll物理学(),
itemBuilder:(上下文、位置){
返回堆栈(
儿童:[
定位(
左:0,,
排名:0,
底部:0,
子:列(
mainAxisSize:mainAxisSize.min,
垂直方向:垂直方向。向下,
儿童:[
Image.asset(stepperLIst[position].iconName),
尺寸箱(高度:10),
CustomPaint(画家:LineDashedPainter(线条颜色:Colors.grey))
],
),//替换为您的图像
),
填充物(
填充:仅限常量边集(左:40),
子:列(
mainAxisSize:mainAxisSize.min,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
正文(
步进列表[位置]。标题,
样式:BaseStyles.textStyle.copyWith(fontFamily:BaseFonts.bold),
),
尺寸箱(高度:10),
正文(
步进列表[位置]。值,
样式:BaseStyles.textStyle,
)
],
),
)
],
);
}));
使用上面的代码,我没有得到确切的输出

有人能帮我制作这种类型的步进机吗


如果需要更多信息,请务必让我知道。提前谢谢。我们将感谢您的努力。

我有一些资源与您分享。只要看看这些,看看是否适合你。这些是:

  • :显示一系列步骤进度的material stepper小部件

如果你真的想用这些交错的线来代替步进器中图标之间的一条垂直线,那么请查看库中的代码,并通过一些最小的更改来制作你自己的小部件。

我有一些资源与你分享。只要看看这些,看看是否适合你。这些是:

  • :显示一系列步骤进度的material stepper小部件

如果你真的想让这些交错的线代替步进器中图标之间的一条垂直线,然后查看库中的代码,并做一些最小的更改,使您自己的小部件与之类似。

感谢您的努力和建议我尝试使用stepper小部件,但我的要求是显示所有步骤未获得@Goku小部件帮助您显示所有步骤,不是吗?谢谢你的努力和建议,我已经尝试过使用stepper小部件,但我的要求是显示所有步骤。没有得到@Goku小部件可以帮助你显示所有步骤,不是吗?