zoukankan      html  css  js  c++  java
  • flutter实现页面跳转的两种路由

    1.无名路由push,直接使用
    void nextPage() async{   final result = await Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) {     
    return NextPage("pass params to next page");//构造函数传递参数   }));
      //result页面返回结果
    }
    Navigator.pop(context, "return value to last page");//页面返回

    2. 命名路由pushNamed,先注册再使用
    void main() => runApp(MyApp());//单行函数调用写法
    class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
    return MaterialApp(
    title: "My App Title",
    theme: ThemeData(primaryColor: Colors.green),
    //home: RandomWord(),首页设置方式一
    initialRoute: "home_route",//首页设置方式二
    routes: {//路由注册表
    "next_page": (BuildContext context) {
    return NextPage(ModalRoute.of(context).settings.arguments);
    },
    "home_route": (BuildContext context) => RandomWord(),
    },
    // onGenerateRoute: //页面拦截处理
    // onUnknownRoute: //页面跳转出错
    );
    }
    }

    void nextPage() async{
    final result = await Navigator.pushNamed(context, "next_page",arguments: "pass params to next page");
    //result页面返回结果
    }

    //next_page获取上一个页面传递过来的参数的方法:ModalRoute.of(context).settings.arguments


  • 相关阅读:
    给任意多个链表然后要合并成一个
    hdu5967数学找规律+逆元
    poj2125最小点权覆盖+找一个割集
    poj3308 最小点权覆盖
    poj2987 最大闭合权子图基础题
    poj2699 转化为可行性判定问题+二分枚举+最大流
    判断割是否唯一zoj2587
    快排优化
    jvm垃圾收集器
    三次握手与四次挥手
  • 原文地址:https://www.cnblogs.com/yongfengnice/p/12112287.html
Copyright © 2011-2022 走看看