老师,如果我想在滑动viewpage的同时切换bottomNavigationBar的item,怎么做?

来源:6-5 StatefulWidget与基础组件【撑起Flutter的半边天】

头都秃了还没变强

2019-08-22

//切换viewpage时调用的方法
_item(int index,String title, MaterialColor color) {

setState(() { //尝试在这里设置,但是并没有效果
  _index = index;
});
return Container(
  alignment: Alignment.center,
  decoration: BoxDecoration(color: color),
  child: Text(title, style: TextStyle(color: Colors.white)),
);

}

写回答

2回答

慕码人5126885

2019-08-23

onTap(index){
  setState(() {
    _currentIndex = index;
    _controller.animateToPage(index,
        duration: Duration(milliseconds: 300), curve: Curves.ease);
  });
}



body: PageView(
  controller:_controller,
  children: <Widget>[
    HomePage(),
    DiscoveredPage(),
    MyPage(),
  ],
  onPageChanged: (index){
    onTap(index);
  },
),

可是这样有个问题,当我左右滑动的时候页面左右滑动超过50%就强制切换到新的页面了,体验特别不友好

1
0

CrazyCodeBoy

2019-08-23

添加下面代码:
body: PageView(
  controller: _controller,
  onPageChanged: (index) {
    setState(() {
      currentIndex = index;
    });
  },

0
1
头都秃了还没变强
666
2019-08-23
共1条回复

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程