Я реализую простой виджет Cupertino TimerPicker в приложении Flutter, и по некоторым причинам значения, отображаемые в средстве выбора для минут, обрезаются, когда они превышают 20:
https://www.dropbox.com/s/jqu45skpjob4it0/Screenshot%202019-11-01%2013.51.29.png
Изначально у меня был виджет внутри виджета showModalBottomSheet с некоторыми настройками, но проблема сохраняется даже после попытки отобразить простейшую реализацию средства выбора таймера в виджете столбца.
Когда я вращаю средство выбора,Я могу получить правильные значения. Например, если я выбрал 22 минуты, onTimerDurationChanged передает значение Duration в 22 минуты, даже если средство выбора отображает только «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. Я не уверен, где еще искать неисправности.