在颤动中更改页面时保持小部件始终可见

时间:2021-02-02 12:56:35

标签: flutter dart

我目前正在使用 Navigator.pushNamed 来更改我的应用程序的内容,我希望在每个页面顶部都有一个持久性小部件,而无需在每次更改页面时加载它。是否有可能或者我必须更改我的整个应用程序以使用一个脚手架并更新脚手架的内容?我想避免这种解决方案。

1 个答案:

答案 0 :(得分:0)

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 一起包装。因此,您访问的每个页面的脚手架和应用程序栏都是通用的。