Как исправить ошибку отображения значений в виджете Flutter Cupertino TimerPicker? - PullRequest
0 голосов
/ 01 ноября 2019

Я реализую простой виджет 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. Я не уверен, где еще искать неисправности.

...