RflutterAlert: создание кнопки в другой строке

#flutter #line-breaks #flutter-packages

#flutter #разрывы строк #флаттер-пакеты #flutter-пакеты

Вопрос:

Всем привет, у меня есть этот простой код, который содержит 3 кнопки

 void _showOptions (bill , context){
    Alert(
      context: context,
      type: AlertType.info,
      style: AlertStyle(titleStyle: Theme.of(context).textTheme.bodyText1),
      title: translator.currentLanguage == 'ar' ? 'الخيارات'
          : 'Options',
      buttons: [
        DialogButton(
          onPressed: (){
            Navigator.push(context,
                MaterialPageRoute(builder: (BuildContext context) =>
                    BillView(widget.userInformation , widget.userInformation, bill))
            );
          },
          color: Color(0xffff9900),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Text(translator.translate("view_bill"), style: TextStyle(color: Colors.white)),
              SizedBox(width: 5,),
              Icon(Icons.featured_play_list , color: Colors.white,)
            ],
          ),
        ),

        DialogButton(
        onPressed: (){
            Navigator.push(context,
                MaterialPageRoute(builder: (BuildContext context) =>
                    PurchasesEdit(widget.userInformation , widget.userInformation, bill))
            );
          },
          color: Colors.blue,
            child: Row(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Text(translator.translate("edit"), style: TextStyle(color: Colors.white)),
                SizedBox(width: 5,),
                Icon(Icons.edit , color: Colors.white,)
              ],
            ),
          ),
        DialogButton(
          onPressed: (){
            return _deleteBill(bill['id'] ,  context);
          },
          color: Colors.red,
          child: Row(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Text(translator.translate("delete"), style: TextStyle(color: Colors.white)),
                SizedBox(width: 5,),
                Icon(Icons.delete_forever , color: Colors.white,)
              ],
            ),
          ),
      ],
    ).show();
  }
  

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

результат прямо сейчас

Просмотр — Редактирование — Удаление

Чего я хочу

Редактировать — Удалить

—-Просмотр——

Как мне это сделать?

Заранее спасибо

Ответ №1:

Библиотека использует строку для отображения кнопок, поэтому невозможно создать

Редактировать — Удалить

—-Просмотр——

макет. Я не использую эту библиотеку, но вам может потребоваться разветвить проект github или использовать только один DialogButton , а внутри него создать свой пользовательский макет кнопки в дочернем свойстве или добавить свои кнопки непосредственно в content . Существует множество обходных путей, но основной, который я бы предложил, — это использовать showGeneralDialog, конечно, для настройки может потребоваться некоторое время, но там вам будет проще создавать пользовательские макеты

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

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