gpt4 book ai didi

dart - Flutter Drawer Widget - 更改 Scaffold.body 内容

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

使用 Flutter Scaffold.Drawer 时 - 是否可以让 Drawer 中的链接更改页面上的内容(Scaffold.body)?

类似于让抽屉导航中的链接更改 Android 中的 Fragment。

enter image description here

最佳答案

您可以通过与您的 Drawer 项进行交互来简单地更改您感兴趣的内容的 state,如下所示:

enter image description here

这里是这个例子的相关代码:

class TestPage extends StatefulWidget {
@override
_TestPageState createState() => new _TestPageState();
}

class _TestPageState extends State<TestPage> {
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";
});
}
),

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

关于dart - Flutter Drawer Widget - 更改 Scaffold.body 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47953410/

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