加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

dart – Flutter – 推送和获取路线之间的价值

发布时间:2020-12-14 14:58:26 所属栏目:百科 来源:网络整理
导读:如何将绿色字符串从HomePage页面发送到ContaPage页面? 我认为它是如此Navigator.of(context).pushNamed(‘/ conta / green’);但我不知道如何进入页面中的绿色字符串 因此,通过获取字符串的值,我可以例如更改ContaPage中appBar的backgroundColor的颜色. mai
如何将绿色字符串从HomePage页面发送到ContaPage页面?

我认为它是如此Navigator.of(context).pushNamed(‘/ conta / green’);但我不知道如何进入页面中的绿色字符串

因此,通过获取字符串的值,我可以例如更改ContaPage中appBar的backgroundColor的颜色.

main.dart

import "package:flutter/material.dart";

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: "MyApp",home: new HomePage(),routes: <String,WidgetBuilder> {
        '/home': (BuildContext context) => new HomePage(),'/conta': (BuildContext context) => new ContaPage()
      },);
  }
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) => new Scaffold(
    appBar: new AppBar(
      backgroundColor: new Color(0xFF26C6DA),),body: new ListView  (
      children: <Widget>[
        new FlatButton(
          child: new Text("ok"),textColor: new Color(0xFF66BB6A),onPressed: () {
            Navigator.of(context).pushNamed('/conta');
          },],)
  );
}

class ContaPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) => new Scaffold(
    appBar: new AppBar(
      backgroundColor: new Color(0xFF26C6DA),);
}

解决方法

您可以根据需要创建MaterialPageRoute并将参数传递给ContaPage构造函数.

import "package:flutter/material.dart";

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: "MyApp",onPressed: () {
            Navigator.push(context,new MaterialPageRoute(
              builder: (BuildContext context) => new ContaPage(new Color(0xFF66BB6A)),));
          },)
  );
}

class ContaPage extends StatelessWidget {
  ContaPage(this.color);
  final Color color;
  @override
  Widget build(BuildContext context) => new Scaffold(
    appBar: new AppBar(
      backgroundColor: color,);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读