小编mba*_*rtn的帖子

如何在 Flutter 中的小部件树中将新 MaterialPageRoute 作为子项打开

在下面的示例中,当我推送新的 MaterialPageRoute 时,它​​与 Flutter 小部件树中的 Home 小部件在同一级别上创建。我想把它作为小部件 Home 的子部件,所以 Home 将是 Child 部件的父部件。

这是一个完整的代码:

import 'package:flutter/material.dart';

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

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: <Widget>[
          Center(
            child: Text("This is home"),
          ),
          RaisedButton(
            child: Text("Open child view"),
            onPressed: () {
              Navigator.of(context)
                  .push(MaterialPageRoute(builder: (context) => Child()));
            },
          )
        ],
      ),
    );
  }
}

class Child extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Container( …
Run Code Online (Sandbox Code Playgroud)

navigation tree widget dart flutter

8
推荐指数
1
解决办法
2364
查看次数

如何在Flutter中调用showTimePicker()时使用24小时制?

当我在Fluter中调用方法showTimePicker()时,它显示了一个12小时制的选择器(使用AM和PM周期).此外,当我在TimeOfDay对象上调用format()方法时,它在12小时系统中返回值.

我如何将其更改为24小时制?我发现我需要在Window类中更改alwaysUse24HourFormat属性,但我不知道该怎么做.

谁能帮助我?提前感谢您的回答.

编辑:代码如下所示:

    Future<Null> _selectTime(BuildContext context) async {
    final TimeOfDay response = await showTimePicker(
      context: context,
      initialTime: pickedTime,
    );
    if (response != null && response != pickedTime) {
      setState(() {
        pickedTime = response;
      });
    }
  } 
Run Code Online (Sandbox Code Playgroud)

edit2:我只用Android试过这个.

dart flutter

6
推荐指数
3
解决办法
3300
查看次数

如何从Flutter中的通知导航到应用程序中的特定MaterialPageRoute

是否可以通过通知单击导航到应用程序中的特定MaterialPageRoute?我在主屏幕中配置了通知:

void _configureNotifications() {
  final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
  _firebaseMessaging.requestNotificationPermissions();
  _firebaseMessaging.configure(
    onMessage: (Map<String, dynamic> message) {
      _goToDeeplyNestedView();
    },
    onLaunch: (Map<String, dynamic> message) {
      _goToDeeplyNestedView();
    },
    onResume: (Map<String, dynamic> message) {
      _goToDeeplyNestedView();
    },
  );
}

_goToDeeplyNestedView() {
  Navigator.push(
      context,
      MaterialPageRoute(
          builder: (_) => DeeplyNestedView()));
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我这样配置它时,它只能从配置通知的窗口小部件中唤醒(我猜这是因为在Navigator.push()中使用了“上下文”。是否有某种方法可以从菜单中的任何位置访问MaterialPageRoute应用程序而不使用任何上下文?

预先感谢您的回答。

dart flutter

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

标签 统计

dart ×3

flutter ×3

navigation ×1

tree ×1

widget ×1