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

前端之家收集整理的这篇文章主要介绍了dart – Flutter – 推送和获取路线之间的价值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将绿色字符串从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,);
}

猜你在找的Flutter相关文章