Как присвоить два разных действия плавающей кнопке actionButton на основе флага

#dart #flutter

#dart #flutter

Вопрос:

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

               bool video_record = true;

              FloatingActionButton(
              backgroundColor: Colors.red,
              onPressed: (){
                setState(() {
                  _onRecordButtonPressed();
                  if(!video_record){
                    _onStopButtonPressed();
                  }
                });
              }
          ),
  

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

1. могу добавить еще немного кода, который был бы более полезным. И я не думаю, что вам следует вызывать _onRecordButtonPressed и _onStopButtonPressed функцию в setState . извлеките их из setState и попробуйте, также убедитесь, что вы меняете video_record флаг

2. Я решил это. Спасибо за решение

3. Сначала как скрыть трепетание значка кнопки и при нажатии другой кнопки я должен показать это снова

4. пожалуйста, проверьте docs.flutter.io/flutter/widgets/Visibility-class.html . вы должны обработать условие проверки, когда вы должны показывать и скрывать пользовательский интерфейс

5. У меня есть таймер на 30 секунд, я хочу приостановить и запустить, когда я нажимаю кнопку в flutter. можете ли вы предложить мне какое-либо решение:

Ответ №1:

Вот как вы должны это сделать.

 FloatingActionButton(
    backgroundColor: Colors.red,
    onPressed: () {
      _onRecordButtonPressed();
      if (!video_record) {
        _onStopButtonPressed();
      }
      setState(() {
        video_record = !video_record;
      });
    }),