Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/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_Navigator - Fatal编程技术网

Dart 颤振:后台导航器未聚焦

Dart 颤振:后台导航器未聚焦,dart,flutter,navigator,Dart,Flutter,Navigator,在我的应用程序中,我有一个始终可见的底部栏。我发现,在拥有多个导航器的同时,在内存中保留选项卡的一个好方法是使用屏幕外导航。然而,当我把导航器放在屏幕外时,它的任何内容都不能接收焦点。我举了一个非常简单的例子,再现了我所说的: void main() async { runApp(MyApp()); } class MyApp extends StatelessWidget { MyApp({ Key key, }) : super(key: key); @overr

在我的应用程序中,我有一个始终可见的底部栏。我发现,在拥有多个导航器的同时,在内存中保留选项卡的一个好方法是使用屏幕外导航。然而,当我把导航器放在屏幕外时,它的任何内容都不能接收焦点。我举了一个非常简单的例子,再现了我所说的:

void main() async {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  MyApp({
    Key key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MyHomeScreen(),
    );
  }
}

class MyHomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Scaffold(
        body: Stack(
          children: [
            Offstage(
              offstage:false,
              child: Navigator(
                onGenerateRoute: (RouteSettings settings) {
                  return MaterialPageRoute(
                    builder: (BuildContext context) {
                      return Center(child: TextField());
                    },
                  );
                },
              ),
            ),

            Offstage(
              offstage:true,
              child: Navigator(
                onGenerateRoute: (RouteSettings settings) {
                  return MaterialPageRoute(
                    builder: (BuildContext context) {
                      return Center(child: TextField());
                    },
                  );
                },
              ),
            ),
          ],
        ),
      ),
    );
  }
}
如果单击文本字段,它将不会收到焦点,因此用户无法键入任何内容

有没有办法将焦点指向活动(可见)屏幕外? 对这个问题还有其他建议吗


谢谢

这是Github的最新问题。要解决这个问题,您需要在每个导航器的顶部放置一个聚焦镜小部件

GH线程中的此注释有一个示例: