在Flutter中,导航到新的小部件,同时保持AppBar和Bottom TabBar

时间:2018-12-26 20:54:08

标签: dart flutter flutter-layout

我的应用程序底部有一个导航栏。我在一个选项卡中有一个列表视图,单击该列表将带我到该项目的详细信息视图。但是,我想维护标签栏和应用栏(可能会更改应用栏的标题等)。

这是我完成导航的方式:

Navigator.pushNamed(context, LocationDetails.routeName);

我不希望AppBar或TabBar具有过渡效果(即,我不希望它们随Widget一起滑动)。

谢谢!

1 个答案:

答案 0 :(得分:3)

最好的方法是在按下ListView中的单元格时将布尔值设置为true或false。然后在WidgetBuild下编写一个bool == true的三元运算符?视图1:视图2。示例

bool viewState == true;

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: Text(widget.title),
      backgroundColor: Colors.black87,
    ),
    body: viewState == true ? Container(
        child: new RaisedButton(onpressed:
         (){setState ((){viewState == false}); // Changed code
      ),
    ) : new ListView(
      child: new Center( // Changed code
        child: new ListTile(onpressed: (){ 
        setState((){viewState == true}
        }), 
      ),
    ),
  ); 
}