flutter - 在 Flutter 中更改页面的内容。我这样做(有点)对吗?
问题描述
因此,在我的 Flutter 应用程序中,我有几个属于同一上下文的不同屏幕。你可以把它们想象成子页面(想想一个一步一步的教程,一个屏幕一个屏幕的说明)。
我认为有几十个不同的页面是没有意义的
class Tutorial extends StatefulWidget {...}
class Tutorial2 extends StatefulWidget {...}
class Tutorial3 extends StatefulWidget {...}
所以我目前正在做的只是一个
class TutorialPage extends StatefulWidget{Widget _body;}
使用类似的构建方法
@override
Widget build(BuildContext context) {
return _body; }
然后在用户使用函数完成教程时以编程方式更改该 _body
tutorialStart(){
setState({_body = Scaffold(body: Center(...),
);});
}
tutorial2(){
setState({ _body = Scaffold(body: Center(...),
);})
}
但问题是,我觉得这不是一个好方法,甚至不是一个体面的方法。我对 Flutter 很陌生,所以我想知道在不创建数十个页面的情况下更改页面内容的更好方法是什么?我希望我能够很好地表达自己,让您理解我的问题,谢谢您的帮助!
解决方案
您好,您可以使用 [pageview][1],
请按照以下步骤操作:
创建课堂教程的模型,然后创建模型列表。
在页面视图中迭代同一列表的循环。
单击下一个按钮时,它将调用下一页。
谢谢 [1]:https ://api.flutter.dev/flutter/widgets/PageView-class.html
推荐阅读
- openssl - 证书中的“-----BEGIN TRUSTED CERTIFICATE-----”是什么意思?
- python - 为什么我调用函数后全局变量没有更新?
- python - 如何将这段数据写入 csv 文件?
- python - 如何用python打开可执行文件
- php - 如何为多个按钮分配ajax变量
- javafx - 如何在宽度/高度发生变化时保持非托管节点位置固定
- javascript - 有没有办法跳过当前播放的视频(通过按键)并继续下一个视频?
- javascript - 使用 datetimepicker 的 chartjs 条形图过滤器
- sql - 如何显示最近 3 个月的字段日期(数据日期类型)
- algorithm - 马尔可夫强化学习的拟合值迭代算法