zoukankan      html  css  js  c++  java
  • 其它


    返回上一级
    // 返回到上一级页面
    Navigator.of(context).pop();
    1
    2
    替换路由
    比如我们从用户中心页面跳转到了 registerFirst 页面,然后从 registerFirst 页面通过 pushReplacementNamed 跳转到了 registerSecond 页面。这个时候当我们点击 registerSecond 的返回按钮的时候它会直接返回到用户中心。

    // 替换路由
    Navigator.of(context).pushReplacementNamed('/registerSecond');
    1
    2
    返回到根路由
    比如我们从用户中心跳转到 registerFirst 页面,然后从 registerFirst 页面跳转到 registerSecond 页面,然后从 registerSecond 跳转到了 registerThird 页面。这个时候我们想的是 registerThird 注册成功后返回到用户中心。 这个时候就用到了返回到根路由的方法。

    ① 如果前面的路由都用替换路由跳转过来,可以直接pop返回根目录

    Navigator.of(context).pop();
    1
    ② 如果是普通路由跳转过来的

    // 返回根
    Navigator.of(context).pushAndRemoveUntil(
    new MaterialPageRoute(builder: (context) => new Tabs(index:2)),
    (route) => route == null
    );
    1
    2
    3
    4
    5
    // tabs
    class Tabs extends StatefulWidget {
    final index;
    Tabs({Key key,this.index=0}) : super(key: key); // 可选参数 index

    _TabsState createState() => _TabsState(this.index);
    }

    class _TabsState extends State<Tabs> {

    int _currentIndex;
    _TabsState(index){ //构造方法,接收传过来的index
    this._currentIndex=index;
    }

    List _pageList=[
    HomePage(),
    CategoryPage(),
    SettingPage(),
    ];
    @override
    Widget build(BuildContext context) {
    return Scaffold(
    appBar: AppBar(
    title: Text("Flutter Demo"),
    ),
    body: this._pageList[this._currentIndex],
    bottomNavigationBar: BottomNavigationBar(
    currentIndex: this._currentIndex, //配置对应的索引值选中
    onTap: (int index){
    setState((http://www.amjmh.com/v/) { //改变状态
    this._currentIndex=index;
    });
    },
    iconSize:36.0, //icon的大小
    fixedColor:Colors.red, //选中的颜色
    type:BottomNavigationBarType.fixed, //配置底部tabs可以有多个按钮
    items: [
    BottomNavigationBarItem(
    icon: Icon(Icons.home),
    title: Text("首页")
    ),
    BottomNavigationBarItem(
    icon: Icon(Icons.category),
    title: Text("分类")
    ),

    BottomNavigationBarItem(
    icon: Icon(Icons.settings),
    title: Text("设置")
    )
    ],
    ),
    );
    }
    }
    ————————————————

  • 相关阅读:
    用DecimalFormat格式化十进制数字的实际应用
    ETL测试小结
    浅谈DB2的四个隔离级别
    POI处理Excel中各种日期格式问题
    如何将Object类型转换成String类型
    ArrayList和LinkedList
    DB2 编目并访问远程数据库
    EXCEL解析之终极方法WorkbookFactory
    DB2中coalesce函数的应用
    【Linux学习】Linux用户管理2—用户配置文件
  • 原文地址:https://www.cnblogs.com/ly570/p/11402904.html
Copyright © 2011-2022 走看看