gpt4 book ai didi

dart - 更改 Scaffold.body 值后如何在 flutter 中隐藏抽屉

转载 作者:IT老高 更新时间:2023-10-28 12:46:24 24 4
gpt4 key购买 nike

我正在使用这个问题中的方法在 flutter 中改变脚手架的主体:

Flutter Drawer Widget - change Scaffold.body content

所描述的方法非常有效。现在我希望抽屉在用户点击其中一项后自动关闭。

我尝试使用 Navigator.pop() 方法,但它会弹出整个屏幕,而不仅仅是抽屉。它让我完全黑屏。

有什么建议吗?

最佳答案

你使用的是 Navigator.of(context).pop() 吗?我无法重现你的问题,你能发布一个最小的例子来重现它吗?

以下代码按预期工作:设置按钮弹出抽屉,而另一个则没有。

class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);

final String title;

@override
_MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
String text = "Initial Text";

@override
Widget build(BuildContext context) {
return new Scaffold(
drawer: new Drawer(
child: new ListView(
children: <Widget>[
new Container(child: new DrawerHeader(child: new Container())),
new Container (
child: new Column(
children: <Widget>[
new ListTile(leading: new Icon(Icons.info),
onTap:(){
setState((){
text = "info pressed";
});
}
),
new ListTile(leading: new Icon(Icons.save),
onTap:(){
setState((){
text = "save pressed";
});
}
),
new ListTile(leading: new Icon(Icons.settings),
onTap:(){
setState((){
text = "settings pressed";
});
Navigator.of(context).pop();
}
),

]
),
)
],
),
),
appBar: new AppBar(title: new Text("Test Page"),),
body: new Center(child: new Text((text)),
));
}
}

关于dart - 更改 Scaffold.body 值后如何在 flutter 中隐藏抽屉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48120098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com