Не знаю, как вы реализовали TimePicker
, но обычно CupertinoTimePicker
- это виджет, который отображает время на экране. Кроме того, в зависимости от того, где вы хотите показать его на экране, используя CupertinoTimePicker
, он одинаково визуализируется с точки зрения пользовательского интерфейса на обеих платформах. Например, вы можете показать time picker
внутри Container
или внутри bottomsheet
. Пример кода, чтобы показать время выбора внутри bottomsheet
, выглядит следующим образом:
body: Center(
child: RaisedButton(
child: Text('Click'),
onPressed: () {
showModalBottomSheet(context: context, builder: (BuildContext builder) {
return Container(
child: time()
);
});
},
)
),
Widget time() {
return CupertinoTimerPicker(
mode: CupertinoTimerPickerMode.hms,
minuteInterval: 1,
secondInterval: 1,
initialTimerDuration: initialtimer,
onTimerDurationChanged: (Duration changedtimer) {
setState(() {
initialtimer = changedtimer;
});
},
);
}
Выше кода показывает время выбора одинаково на обеих платформах, как показано ниже:
Таким образом, вам может не потребоваться использовать класс Platform
, как вы упомянули, и непосредственно в тесте flutter driver
вы можете сначалаопределите элементы, отображаемые в bottomsheet
, и, соответственно, нажмите или выполните необходимые действия.
Надеюсь, что это ответ на ваш вопрос.