Как использовать showTimePicker в качестве виджета во флаттере? - PullRequest
2 голосов
/ 22 марта 2020

Я хочу, чтобы пользователь выбрал дату и время, для этого есть диалог выбора даты и времени.

Но есть ли способ, которым я мог бы постоянно показывать дату и время на некотором виджете флаттера и использовать как любой другой виджет?

Container(
   child: showTimePicker(
          context: context,
          initialTime: TimeOfDay.now(),
          builder: (BuildContext context, Widget child) {
            return Theme(
              data: ThemeData.dark(),
              child: child,
            );
          },
        );
}

, но я не могу использовать showTimePicker в качестве виджета.

Как использовать showTimePicker() в качестве виджета? так что другие виджеты могут быть построены поверх него.

1 Ответ

0 голосов
/ 04 мая 2020

Вы должны открыть showTimePicker по щелчку любого виджета. Таким образом, вы можете просто поместить свой код showTimePicker в свойство onTap GestureDetector, как показано ниже.

GestureDetector(
    onTap: () async {
        TimeOfDay picked = await showTimePicker(
        context: context,
        initialTime: TimeOfDay.now(),
        builder: (BuildContext context, Widget child) {
           return MediaQuery(
           data: MediaQuery.of(context)
           .copyWith(alwaysUse24HourFormat: true),
           child: child,
           );
        },);
     },
     child: Text("SetTime",textAlign: TextAlign.center,));
...