Android 如何在颤振中动态改变步进电机的步数?

Android 如何在颤振中动态改变步进电机的步数?,android,android-studio,dart,flutter,Android,Android Studio,Dart,Flutter,我正在用颤振的步进格式制作验证表单。每个步骤都有一个验证表单 第一次打开页面时,只有一个步骤。我希望用户单击“继续”并获得更多的步进器(即步骤2,通过单击步骤2中的“继续”获得更多的步骤) 我试图通过在列表中添加一个步骤并在调用changeCurrentStepContinue时进行更新来更改步骤数,但它无法增加显示错误的步骤数。一次又一次,我得到了最新的列表 那么,我如何通过在每个步骤中单击“继续”来更改同一页面上的步骤数呢?这是不可能的,因为注释中说,///不能更改[步骤]的长度。但是我做了

我正在用颤振的步进格式制作验证表单。每个步骤都有一个验证表单

第一次打开页面时,只有一个步骤。我希望用户单击“继续”并获得更多的步进器(即步骤2,通过单击步骤2中的“继续”获得更多的步骤)

我试图通过在列表中添加一个步骤并在调用
changeCurrentStepContinue
时进行更新来更改步骤数,但它无法增加显示错误的步骤数。一次又一次,我得到了最新的列表


那么,我如何通过在每个步骤中单击“继续”来更改同一页面上的步骤数呢?

这是不可能的,因为注释中说,
///不能更改[步骤]的长度。
但是我做了一些编辑,对于垂直步进器来说效果很好

按照以下步骤将该补丁应用到颤振代码中

  • cd
    flatter
    目录
  • 下载此文件并将其保存在
    flatter
    文件夹中
  • 在您的终端中,
    $git apply 0001使步进器步进器大小动态。补丁
  • 用函数替换
    \u buildVertical()
    中的
    /flatter/packages/flatter/lib/src/material/stepper.dart
    ,我不知道我的技巧有多“好”,但我只是通过在列表中添加绑定的项目总数来更改stepper的键

    return Stepper(
          key: Key("mysuperkey-" +  items.length.toString()),
          ...
    );
    
    当总步长发生变化时,这将创建一个新的步进器


    干杯

    “显示错误”,然后请将错误添加到您的问题中。还添加了演示您尝试的代码。非常感谢您提供的解决方案。但是,除了操纵官方代码,是否可以为DynamicStepper创建一个定制的pub包或类?如果你创建了一个,我肯定会把它放到我的依赖项中。谢谢。事实上,这只是一件小事,不需要酒吧套餐。我喜欢为同样的产品创建一个pub包的想法,它有比目前更多的定制选项。我已经在官方的颤振回购协议中提出了一个[撤回请求]()。如果合并,问题就解决了。检查我的公关以增加合并的机会。明白了。非常感谢您的公关。这似乎是最快捷最简单的解决方案。你有没有偶然发现imapct是否有任何性能?我不知道,但我停止使用它,自己又做了一次。这开始不仅仅是一件好事,而是一件麻烦事。爱会颤动,只是因为如果你不喜欢某个组件,你需要几分钟为自己做一个。我的建议是,你不应该破解它,而应该从头开始构建一个。@JuanCarlos请你提示一下你是如何构建它的?@cdaiga只需根据我帖子上的代码动态更改密钥。