标签: materialpageroute

如何从 Flutter 中的路由中删除第一个屏幕?

我正在为应用程序创建加载屏幕。此加载屏幕是向用户显示的第一个屏幕。3 秒后,页面将导航到主页。一切正常。但是当用户点击后退按钮时,加载屏幕将再次显示。

第一页代码

import 'dart:async';
import 'package:flutter/material.dart';
import 'home_page.dart';

void main() {
  runApp(MaterialApp(
    home: MyApp(),
  ));
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => new _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    Future.delayed(
        Duration(
          seconds: 3,
        ), () {
      // Navigator.of(context).pop(); // THIS IS NOT WORKING
      Navigator.push(
        context,
        MaterialPageRoute(
          builder: (context) => HomePage(),
        ),
      );
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: FlutterLogo(
          size: 400,
        ),
      ),
    ); …
Run Code Online (Sandbox Code Playgroud)

flutter materialpageroute

5
推荐指数
2
解决办法
6919
查看次数

Flutter - 使用底部导航栏图标的多页面导航

我正在尝试使用底部导航栏中的图标导航到我的应用程序中的不同页面。我已经尝试了很多教程,但似乎无法找到实现这一目标的最佳方法。我已经创建了我的主页(下面的代码)和 2 个附加页面,收件箱和登录,都返回简单的脚手架。

首先,我想知道这是否是我想要实现的最佳方式,其次,如何更改我的代码以允许我根据点击的图标导航到不同的页面。我知道下面的代码没有执行,我只是想展示我已经尝试过的东西。

我的代码:

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {

  _onTap(int index) {
    Navigator.of(context)
        .push(MaterialPageRoute<Null>(builder: (BuildContext context) {
      return _children[_currentIndex];
    }));}

  final List<Widget> _children = [
    HomePage(),
    InboxPage(),
    SignInPage()
  ];

  int _currentIndex = 0;

  @override
  Widget build(BuildContext context) {
      SizeConfig().init(context);
      return Scaffold(
        appBar: PreferredSize(preferredSize: Size(double.infinity, 75),
          child: AppBar(
              elevation: 0.0,
              centerTitle: false,
              title: Column(
                children: <Widget>[
                  Align(
                    alignment: Alignment.centerLeft,
                    child: Text(
                      currentDate,
                      textAlign: TextAlign.left,
                      style: TextStyle(
                          color: titleTextColor,
                          fontWeight: …
Run Code Online (Sandbox Code Playgroud)

dart flutter materialpageroute flutter-bottomnavigation

4
推荐指数
1
解决办法
5897
查看次数