在Flutter中的PageView中动态创建或重新排序子窗口小部件

时间:2020-07-27 01:25:53

标签: android ios flutter dart flutter-animation

上下文:想象一下Snapchat UI。您在好友列表屏幕上(在“相机”屏幕的左侧)。您从左向右滑动朋友的名字,而Snapchat会在您滑动时为从该朋友的好友列表屏幕到聊天窗口的过渡设置动画。

期望的行为:在垂直列表中的任意图块上从右向左滑动,以从与该图块相关的右侧显示上下文屏幕。在上下文屏幕中,从左向右滑动即可返回到图块列表屏幕。

当前方法::使用带有两个子级的PageView小部件。第一个孩子是朋友列表小部件。第二个孩子将是上下文屏幕小部件,其上“向左滑动”的图块均适用。为此,可能需要动态创建第二个子级(即在运行时),方法可能是将每个磁贴包装在GestureDetector小部件中,然后在onHorizontalDragStart回调函数中将PageView的第二个子级设置为给定的图块。

我的问题:如何在Flutter应用程序中动态地(在运行时)创建或重新排序PageView小部件的子级?

PageView.builder的flutter文档说:

PageView.builder默认情况下不支持子级重新排序。如果您打算以后更改子顺序,请考虑使用PageView或PageView.custom。

听起来好像可以通过PageView或PageView.custom来实现,但是如何?

0 个答案:

没有答案