Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 如何使用背景作为主应用程序菜单更新颤振应用程序的布局_Dart_Flutter_Flutter Layout - Fatal编程技术网

Dart 如何使用背景作为主应用程序菜单更新颤振应用程序的布局

Dart 如何使用背景作为主应用程序菜单更新颤振应用程序的布局,dart,flutter,flutter-layout,Dart,Flutter,Flutter Layout,我对弗利特一无所知,所以请接受我对一个愚蠢问题的道歉,也许这是愚蠢的。我的问题是,如果为我的应用程序菜单设置背景,我是否能够用新屏幕更新任何特定屏幕。例如,如果我在android上,有一个带有背景的应用程序主屏幕,在点击菜单后,我会显示一个片段,在用户与它进行一些交互后,我会根据设计和应用程序流显示一个不同的片段。我的问题是,与使用MaterialPageRoute更改整个屏幕相比,我在Flatter中如何更新屏幕。如果不想使用Navigator,可以使用PageView小部件 然后转到您的背景

我对弗利特一无所知,所以请接受我对一个愚蠢问题的道歉,也许这是愚蠢的。我的问题是,如果为我的应用程序菜单设置背景,我是否能够用新屏幕更新任何特定屏幕。例如,如果我在android上,有一个带有背景的应用程序主屏幕,在点击菜单后,我会显示一个片段,在用户与它进行一些交互后,我会根据设计和应用程序流显示一个不同的片段。我的问题是,与使用MaterialPageRoute更改整个屏幕相比,我在Flatter中如何更新屏幕。

如果不想使用Navigator,可以使用PageView小部件

然后转到您的背景窗口小部件并修改如下

backLayer: Container(
  color: Colors.blue,
  child: ListView(
    children: <Widget>[
      ListTile(
        title: Text("Screen two"),
        onTap: () {
          go(1); //page index
        },
      ),
      ListTile(
        title: Text("Screen three"),
        onTap: () {
          go(2);
        },
      )
    ],
  ),
),


frontLayer: Container(
  color: Colors.white,
  child: PageView(
    onPageChanged: onPageChanged, //page changed function
    controller: _pageController, //controller
    physics: NeverScrollableScrollPhysics(), //disable swipe
    children: <Widget>[
      HelloScreen(), //put your screens here.
      ScreenTwo(),
      ScreenThree(),
    ],
  ),
),

我不太确定你想要什么,也许试着澄清一下。问问你想做什么。另外,从我试图理解的角度来看,我认为你想替换当前屏幕吗?是这样吗?为此,您可以尝试使用Navigator.pushReplacement方法。如果是别的,也许可以试着用一个例子,因为它有点难理解你在寻找什么。
backLayer: Container(
  color: Colors.blue,
  child: ListView(
    children: <Widget>[
      ListTile(
        title: Text("Screen two"),
        onTap: () {
          go(1); //page index
        },
      ),
      ListTile(
        title: Text("Screen three"),
        onTap: () {
          go(2);
        },
      )
    ],
  ),
),


frontLayer: Container(
  color: Colors.white,
  child: PageView(
    onPageChanged: onPageChanged, //page changed function
    controller: _pageController, //controller
    physics: NeverScrollableScrollPhysics(), //disable swipe
    children: <Widget>[
      HelloScreen(), //put your screens here.
      ScreenTwo(),
      ScreenThree(),
    ],
  ),
),