我正在Flutter应用程序上实现一个简单的Cupertino TimerPicker小部件,并且由于某种原因,分钟数在选择器上显示的值一旦超过20,就会被修整:
https://www.dropbox.com/s/jqu45skpjob4it0/Screenshot%202019-11-01%2013.51.29.png
最初我在具有某些自定义功能的showModalBottomSheet小部件内放置了小部件,但是即使试图在列小部件中显示计时器选择器的最简单实现,问题仍然存在。
旋转选择器时,可以获得正确的值。例如,如果我选择22分钟,则即使选择器在UI中仅显示“ 2”,onTimerDurationChanged也会传递22分钟的Duration值(如屏幕截图所示)。看来问题出在小部件如何显示值。
以下是“计时器选择器”子项的包含其“列”窗口小部件中的代码:
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编辑器中没有出现任何错误。我不确定在哪里可以找到故障排除方法。