flutter - 在 flutter 中更改页面时保持 Widget 始终可见

标签 flutter dart

我目前正在使用 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/

相关文章:

flutter - 如何在一列内实现多个水平列表

flutter - 在 Dart 中区分 undefined 和 null

Flutter 无法连接到 iOS 模拟器

user-interface - 当文本在 Flutter 中溢出时如何使 Text 小部件像选取框一样

dart - 如何取消 Future.delayed?

每次运行 Flutter Web 下载大约 5 MB(演示应用程序)

dart - 偏移量是不同的 onTap 和 OnDrag - Flutter

flutter - 如何在使用 pop 时重新加载 initState() flutter 中的数据

Flutter 使 TableRow 占用剩余的可用空间

flutter - 为什么背景过滤器会模糊我的整个应用程序