如何让应用栏在整个页面上保持持久化?我尝试创建一个单独的文件,然后在 drawer 属性下导入它,但它不起作用......还有其他方法吗?
答案 0 :(得分:0)
App bar Widget 与其他所有小部件不同,AppBar 实现了 PreferredSizeWidget 类,这意味着 AppBar 必须具有首选大小。您需要为您的 appBar 创建一个自定义类。
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 是一篇详细介绍如何使用底部导航栏执行此操作的文章。