Flutter Добавить действия на панели приложений для конкретных страниц

Итак, у меня есть главная страница с эшафотом, панелью приложений и ящиком. Мой вопрос: есть ли способ добавить определенные действия на панели приложений с дочерних страниц? Или мне нужно добавить их все и условно показать / скрыть на главной странице?


person pavlos    schedule 21.09.2020    source источник


Ответы (1)


Обычно вы должны использовать один Scaffold() для каждой страницы, и вы не должны вкладывать скаффолды.

Внутри вашего Scaffold() находится ваш AppBar(). Таким образом, вы можете без проблем контролировать действия каждой страницы на панели приложений.

Я имею в виду, что каждая страница имеет такой код:

  Widget build(BuildContext context) {
    return Scaffold(
      drawer: MyDrawer(),
      appBar: AppBar(
        title: Text("your screen title"),
        actions: <Widget>[
          IconButton(
            icon: Icon(Icons.security),
            onPressed: () { print("icon pressed"); },
          ),
        ],
      body: Container(),
    );
  }
person encubos    schedule 21.09.2020