如何让应用栏在颤振中跨所有页面?

时间:2021-05-14 13:45:41

标签: flutter flutter-appbar

如何让应用栏在整个页面上保持持久化?我尝试创建一个单独的文件,然后在 drawer 属性下导入它,但它不起作用......还有其他方法吗?

2 个答案:

答案 0 :(得分:0)

App bar Widget 与其他所有小部件不同,AppBar 实现了 PreferredSizeWidget 类,这意味着 AppBar 必须具有首选大小。您需要为您的 appBar 创建一个自定义类。

Source

class MycustomAppBar extends StatelessWidget implements PreferredSizeWidget {
 String title;
 @override
 final Size preferredSize;

 MycustomAppBar({@required this.title}) : preferredSize = Size.fromHeight(60.0);

 @override
 Widget build(BuildContext context) {
   return SafeArea(
      child: Column(/*Do your desinging*/),
    );
   }
 }

答案 1 :(得分:0)

从我对持久性的理解来看。您希望该应用栏在更改页面时保持静态。为此,您应该为每个页面创建并使用一个脚手架,而不是为每个页面创建一个新的脚手架。您必须使用不同页面的主体创建小部件,然后使用 setState 中的某些条件将这些小部件设置为主脚手架主体。请注意,因为您将使用 setState,所以您需要使用有状态的小部件。

Here 是一篇详细介绍如何使用底部导航栏执行此操作的文章。