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线程中的此注释有一个示例: