Используйте значок appBar, чтобы открыть форму - PullRequest
0 голосов
/ 23 июня 2019

enter image description here.

Я хочу использовать значок в панели приложений, чтобы открыть форму.В настоящее время моя форма находится в теле моего приложения (столбец).Как сделать так, чтобы вместо формы в теле я мог нажать значок, и вместо этого появится всплывающее окно, немного похожее на создание твита?

Widget build(BuildContext context) {
 return Scaffold(
  appBar: AppBar(
    title: Text('Social App'),
    actions: <Widget>[
      Padding(
        padding: const EdgeInsets.only(right: 10.0),
        child: IconButton(icon: Icon(Icons.add), onPressed: (){})
      ),
    ],
  ),

body: Column(
    children: <Widget>[
      Flexible(
        flex: 0,
        child: Card(
          child: Form(
            key: formKey,
              child: Flex(
              direction: Axis.vertical,
            children: <Widget>[
              ListTile(
                leading: Icon(Icons.subject),
                title: TextFormField(
                  initialValue: '',
                  onSaved: (val) => board.subject = val,
                  validator: (val) => val == "" ? val: null,
                ),
              ),
              ListTile(
                leading: Icon(Icons.message),
                title: TextFormField(
                  initialValue: '',
                  onSaved: (val) => board.body = val,
                  validator: (val) => val == "" ? val: null,
                ),
              ),
              FloatingActionButton(
                child: Text('post'),
                backgroundColor: Colors.pink,
                onPressed: (){
                  handleSubmit();
                },
              ),
            ],
        ),
      ),
      ),
  ),

Если есть что-то еще, что мне нужно включитьчтобы помочь, пожалуйста, дайте мне знать.И заранее спасибо.

1 Ответ

1 голос
/ 23 июня 2019

Вы можете сделать форму как другую страницу и перейти к ней, или как Dialog, и показать ее поверх текущей страницы, используя showDialog.

Значения могут быть возвращены со страницы / диалога через общую модель, используя шаблон BLoC или Navigator.of(context).pop.

...