2

我有一个问题要问 Flutter 开发人员,他们有使用 Angular 或 android sdk 的经验。

在 android 中,当您想在不同屏幕之间导航而不降低性能时,我们使用片段并使用框架布局更改它们

角度相同,我们使用路由器插座,我们使用路由在组件之间导航

我想用颤振实现同样的事情(ps:我播种了一些像这样的文章 作者通过更新状态和有条件地显示正确的页面来在他的页面之间导航,我认为这不是一个好习惯)

所以我的问题是有什么方法可以像我们在 angular 或 android 中那样在颤振中使用导航?

谢谢

路由图像

4

3 回答 3

0

我有一个包含多个页面的应用程序,我使用 RouteGenerator 来管理这些路由,我也来自 Angular 背景,发现这是最好的方法,因为我的所有路由都位于一个文件中。

https://flutter.dev/docs/cookbook/navigation/named-routes

于 2019-09-06T14:01:33.100 回答
0

您可以使用PageView

  PageController pageController = PageController(initialPage: 0);
  int _selectedIndex = 0;

  void _selectCurrentTab(int index) {
    setState(() {
      _selectedIndex = index;
    });
    pageController.animateToPage(_selectedIndex,
        duration: Duration(milliseconds: 250), curve: Curves.linear);
  }      

@override
Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
            appBar: ...,
            body: PageView(
              pageSnapping: true,
              controller: pageController,
              children: [HomePage(), AboutPage()],
            ),
            bottomNavigationBar: BottomNavigationBar(
              items: [
                BottomNavigationBarItem(...),
                BottomNavigationBarItem(...)
              ],
              type: BottomNavigationBarType.fixed,
              showUnselectedLabels: true,
              currentIndex: _selectedIndex,
              onTap: _selectCurrentTab,
            )));
  }
于 2021-11-05T10:34:47.607 回答
0

您需要的是嵌套路由。查看有关如何使用 Navigator 2.0 实现嵌套路由的链接。

于 2021-11-05T10:46:44.887 回答