Как сделать так, чтобы кнопка переключения во флаттере отображала календарь и время

#flutter #button #flutter-layout #togglebutton

Вопрос:

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

введите описание изображения здесь

Код:

 Padding(
            padding: const EdgeInsets.fromLTRB(0, 400, 256, 0),
            child: ToggleButtons(
              children: <Widget>[
                Icon(Icons.bluetooth),
                Icon(Icons.wifi),
                Icon(Icons.flash_on),
              ],
              isSelected: _isSelected,
            ),
          ),
 

Список

  List<bool> _isSelected = [false, true, false];
 

Комментарии:

1. добавьте свой фрагмент кода

2. Поделитесь своим кодом

3. добавлен код @JahidulIslam

Ответ №1:

Заверните свой CupertinoSwitch внутри ListTile . Затем onTap откройте CupertinoDatePicker «или», какой бы выбор календаря вы ни выбрали. например:

                     ListTile(
                      title: Text(
                        'Time',
                        style: TextStyle(color: Colors.white),
                      ),
                      trailing: CupertinoSwitch(
                        activeColor: Color(0xff59a3fd),
                        value: globals.isEnable //your switch value here
                        onChanged: (bool value) {
                          setState(() {
                            globals.isEnable = value;
                          });
                          
                        },
                      ),
                      onTap: () {
                         
                          //Open your calender here
                          showCupertinoModalPopup<void>(
                              context: context,
                              builder: (BuildContext context) {
                                return _buildBottomPicker(
                                  CupertinoDatePicker(
                                   mode: CupertinoDatePickerMode.date,
                                   initialDateTime: date,
                                   onDateTimeChanged: (DateTimeaddSelectedDate){                                     
                                      setState(() {
                                        this.newDateTime = addSelectedDate;
                                           date = newDateTime;
                                      });
                                    },
                                  ),
                                );
                              },
                            );                           
                          },
                        )