如何在 PageView 中拥有不同大小的页面?

Posted

技术标签:

【中文标题】如何在 PageView 中拥有不同大小的页面?【英文标题】:How can I have different sized Pages in a PageView? 【发布时间】:2020-04-02 14:46:28 【问题描述】:

我才用 Flutter 编程一个半月,还是很缺乏经验。 但是我有一个问题,我在互联网上找不到答案。 我需要一个主要由 PageView 组成的应用程序。不幸的是,使用 PageView,所有页面总是相同的大小。 有什么办法可以让一页的宽度变小,或者让一页的视口分数比其他页面小?

PageView.Custom 可能对我们有所帮助,但我一直无法查明 PageView.Custom 是否具有此功能。我试图在互联网上巧妙地阅读我,但找不到任何东西。

如果 Pageview 不起作用,您可以考虑使用哪个小部件。我的浏览量只有两页,但我需要滑动功能和“animatetopage ...”功能

【问题讨论】:

您可以根据自己的要求制作 PageView 的内容,而不是使 PageView 大小可变。 你是什么意思? pageView 中的一页必须具有比另一页更小的宽度。这是唯一重要的事情。不是内容,而是页面宽度....感谢您的快速回复 您为什么不添加图像或插图以使自己更清晰。但是我认为您可以像@mdeora 所说的那样指定 PageView 的子小部件的大小...例如,您可以 jsut使用 Container 或 SizedBox 【参考方案1】:

我已经成功解决了这个问题。 现在到我的解决方案。我已经构建了第二个 PageController,它的 ViewPortFraction 为 0.8。第二个页面一打开到30%,第一个控制器就被第二个PageController代替,第二个页面越来越小。

【讨论】:

以上是关于如何在 PageView 中拥有不同大小的页面?的主要内容,如果未能解决你的问题,请参考以下文章

Android - 从 pageView 中删除对象会导致空白

在颤振中如何使带有平移手势的内部小部件不会与PageView冲突

如何在 Flutter 中使用 PageView 创建轮播(滑动动画)?

如何在颤动的pageView中使用AnimatedCrossFade多个小部件?

如何使用 Provider 为 PageView() 提供一个块,而无需每次切换页面时孩子都重新订阅?

Flutter 专题108 图解 PageView 滑动页面预览小尝试 #yyds干货盘点#