我目前正在使用 Navigator.pushNamed 来更改应用程序的内容,并且我希望在每个页面顶部都有一个持久的小部件,而无需在每次更改页面时加载它。是否有可能或者我必须更改我的整个应用程序以使用一个脚手架并更新脚手架的内容?我想避免这种解决方案。
最佳答案
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Page1(),
builder: (context, child) {
return Scaffold(
appBar: AppBar(), // the common thing.
body: child,
);
},
);
}
}
class Page1 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container();// add button to go to Page2
}
}
class Page2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container();
}
}
描述:
builder
允许您传递不同的小部件,每个小部件将用通用小部件(此处的脚手架内的 AppBar)包装。因此,脚手架和应用栏对于您访问的每个页面都是通用的。
关于flutter - 在 flutter 中更改页面时保持 Widget 始终可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66010200/