在普通模式下的页面视图或者全屏幕模式下的页面视图切换页面的时候,我想在页面还有页面之间添加点间隔。
post_show
打开 post_show ,在 initState 这个方法里,创建页面控制器的时候,可以设置一下它的 viewportFraction,默认值是 1,这里把它改成 1.05 。这个 viewportFraction 设置的是页面占用的可视窗口的比例。
然后再用 FractionallySizedBox 这个小部件改造一下页面视图小部件。在这个普通模式下的页面视图这里,剪切一下这个 PostContentView 小部件,然后去掉声明 page 还有设置 page 用的代码。直接 return 这个 PostContentView。
给这个小部件添加一个包装,用一个 FractionallySizedBox 小部件包装一下原来的这个 PostContentView ,设置一下这个小部件的 widthFactor,它的值可以用 1 除以 pageController 的 viewportFraction 。
这个 FractionallySizedBox 的作用就是可以设置一下它的 child 占用的可用空间的比例。
再同样方法再处理一下全屏幕模式下用的页面视图,在这个 PostImageView 小部件的周围添加一个包装,用一下 FractionallySizedBox ,然后设置一下 widthFactor,值是 1 除以 pageController.viewportFraction 。
测试
现在,切换页面的时候,你会发现页面还有页面之间会有一点间隔。