如何在Flutter中使用导航器打开非全屏页面?

问题描述 投票:0回答:1

如下所示:

我想像对话框一样打开非全屏页面,但不是对话框,我该怎么做,请帮助我,谢谢!

enter image description here

flutter flutter-layout
1个回答
2
投票

您可以在有状态的小部件内使用堆栈小部件。

下面的例子清楚你的想法。

按下浮动操作按钮后,您的前景就会超过背景。

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}
class MyHomePage extends StatefulWidget {

  @override
  MyHomePageState createState() {
    return new MyHomePageState();
  }
}

class MyHomePageState extends State<MyHomePage> {
  int change=0;

  dialog(){
    return Center(
      child: new Container(
        height: 200.0,
        width: 200.0,
        color: Colors.amber,
      ),
    );

  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: <Widget>[
          new Container(
            color: Colors.lightBlueAccent,
            width: double.infinity,
            height: double.infinity,
          ),
          change==1?dialog():Container()
        ],
      ),
      floatingActionButton: FloatingActionButton(
          onPressed: (){
            setState(() {
              if(change==0){
                change=1;
              }else{
                change=0;
              }
            });
          }
      ),
    );
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.