0

我在 Flutter 应用程序上实现了一个简单的 Cupertino TimerPicker 小部件,并且由于某种原因,选择器上显示的分钟值一旦超过 20 就会被修剪:

https://www.dropbox.com/s/jqu45skpjob4it0/Screenshot%202019-11-01%2013.51.29.png

最初我在 showModalBottomSheet 小部件中使用了一些自定义的小部件,但即使在尝试在列小部件中显示计时器选择器的最简单实现后,问题仍然存在。

当我旋转选择器时,我可以获得正确的值。例如,如果我选择 22 分钟,onTimerDurationChanged 会传递 22 分钟的 Duration 值,即使选择器在 UI 中仅显示“2”(如屏幕截图所示)。所以看起来问题在于小部件如何显示值。

这是 Timer Picker 子组件在其包含的 Column 小部件中的代码:

          Expanded(
            child: Container(
              height: 200,
              child: CupertinoTimerPicker(
                mode: CupertinoTimerPickerMode.hm,
                initialTimerDuration: Duration(minutes: 20),
                onTimerDurationChanged: (Duration value) {},
              ),
            ),
          ),

更多详细信息:

1) 只有在设置时才会出现该错误

mode: CupertinoTimerPickerMode.hm

如果模式设置为 .ms 或 .hms,问题就会消失。不幸的是,我需要使用 .hm 模式。

2) 在 iOS 上运行应用程序时出现问题(在模拟器和物理设备上)。具有讽刺意味的是,它在 Android 上运行良好。

--

我在控制台或 Android Studio 编辑器中没有收到任何错误。我不确定在哪里寻找故障排除。

4

0 回答 0