如何在颤动中为 BottomNavigationBar 提供 onPressed 动作?

时间:2021-03-17 13:29:09

标签: flutter dart

我有一个底部导航栏在颤动,我想点击底部导航栏的各个小部件,所以按下按钮“添加联系人”它应该将我导航到下一个页面,即我的 FifthScreen。

Widget _myListView(BuildContext context) {
  return Column(children: [
    Expanded(
        child: ListView(
          padding: const EdgeInsets.only(top: 10.0),
          children: ListTile.divideTiles(
            context: context,
            tiles: [
              ListTile(
                leading: CircleAvatar(
                  backgroundImage: AssetImage('Icons.account_circle'),
                ),
                title: Text('User 1'),
                subtitle: Text('Hello'),
                onTap: () => Navigator.push(context,
                    MaterialPageRoute(builder: (context) => FourthScreen())),
              ),
            ],
          ).toList(),
        )),
    BottomNavigationBar(items: [
      BottomNavigationBarItem(icon: Icon(Icons.add), label: "Add Contact",),
      BottomNavigationBarItem(icon: Icon(Icons.group), label: "Contacts"),
      BottomNavigationBarItem(icon: Icon(Icons.settings), label: "Settings"),
    ])
  ]);
}```

3 个答案:

答案 0 :(得分:0)

使用BottomNavigationBar 的onTap() 方法。更多详情here

答案 1 :(得分:0)

BottomNavigationBar 有一个 onTap 方法,它返回一个 int(导航栏的当前选定索引)

malloc

当然,在您的情况下,索引 0 是“添加联系人”,索引 1 是“联系人”等等...

答案 2 :(得分:0)

onTap: 实现是正确的。但也不要忘记指定当前所选项目的 currentIndex 字段,以便更改底部导航菜单的状态,当然如果需要的话。