我正在研究Flutter,并使用此框架构建我的第一个应用程序。
现在我正面临一个问题。
我的情况很简单,我想从主屏幕导航到另一个屏幕。
这是主视图中的代码
class HomeView extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return HomeViewState();
}
}
class HomeViewState extends State<HomeView> {
...
并且我想使用导航器导航到另一个屏幕
@override
Widget build(BuildContext context) {
return Container(
child: InkWell(
onTap: () {
Navigator.of(context).pushNamed('/userdetailsview');
},
child: Card(
...
这是我的App.Dart
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.light(),
home: Scaffold(
body: Center(
child: HomeView(),
),
),
routes: <String,WidgetBuilder>{
'/homeview': (BuildContext context) => new HomeView(),
'/userdetailsview': (BuildContext context) => new UserDetails(),
},
);
}
}
最后这是我要浏览的页面的代码
class UserDetails extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return Text('test');
}
}
您可以看到我的情况很简单,但这就是结果。
由于某种原因,您可以看到第二页与主页重叠。
我是使用Xamarin Forms和XAML应用程序的开发人员,Flutter非常容易理解,我非常喜欢它,但是缺少诸如此类的简单任务的信息。
[如果有人可以帮助解决我的问题,我将不胜感激
谢谢!。
在UserDetails.dart中尝试此操作
class UserDetails extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
body: Text('test');
)
}
}