Flutter 如何禁用页面视图边缘的动画?

Flutter 如何禁用页面视图边缘的动画?,flutter,Flutter,我希望用户在PageView中的页面之间滚动,但我不希望在他们尝试在第一页之前和最后一页之后滚动时向他们显示动画。我可以在彩色动画、黑色动画和无滚动之间切换,但我找不到任何禁用动画的可能性 如果没有这种可能性,我如何改变动画的颜色或至少使其透明?根据您的屏幕截图,我可以说您正在使用弹跳CrollPhysics查看页面。此行为通常由iOS设备使用。尽管如此,我还是回顾了您提供的全部源代码 出了什么问题 您添加了PageView,但没有在顶层附带Scaffold或Material小部件,这就是Pa

我希望用户在PageView中的页面之间滚动,但我不希望在他们尝试在第一页之前和最后一页之后滚动时向他们显示动画。我可以在彩色动画、黑色动画和无滚动之间切换,但我找不到任何禁用动画的可能性


如果没有这种可能性,我如何改变动画的颜色或至少使其透明?

根据您的屏幕截图,我可以说您正在使用
弹跳CrollPhysics
查看
页面。此行为通常由iOS设备使用。尽管如此,我还是回顾了您提供的全部源代码

出了什么问题

您添加了
PageView
,但没有在顶层附带
Scaffold
Material
小部件,这就是
PageView
子级后面的背景为黑色的原因

从文件中:

Scaffold
实现了基本的材料设计可视化布局结构

如果没有此小部件,您会注意到您的应用程序可能会占用设备的整个屏幕,包括通知栏,因为它(
PageView
)不知道状态栏在屏幕中的位置

你能做什么

我注意到在
PageView
中添加的所有子部件都有单独的
Scaffold
AppBar
,您可能希望使用而不是
PageView
,并让父部件通过处理
AppBar
更改

但是,如果您认为重构会花费您太多的精力,请随意查看以下选项,这些选项需要最小的更改,以满足您的需要:

选项1。您可以将小部件包装在
Scaffold
小部件中

选项2。鉴于嵌套
Scaffold
小部件不是一种好的做法,您可以使用普通
材质
小部件包装
PageView
,并使用
Scaffold
小部件包装子部件

这些解决方案将
PageView
的背景色从黑色更改为白色

选项3。如果您真的想摆脱动画,最简单的破解方法是更改您的滚动物理:

physics:ClampingScrollPhysics(),
但是,当您尝试在屏幕末端滑动时,这仍然会产生发光或涟漪效果

为了进一步消除这种影响,我将与您分享以下答案:

  • (适用于Android)
  • (为iOS工作)
进一步阅读


根据您的屏幕截图,我可以说您正在使用
弹跳CrollPhysics
来查看
页面。此行为通常由iOS设备使用。尽管如此,我还是回顾了您提供的全部源代码

出了什么问题

您添加了
PageView
,但没有在顶层附带
Scaffold
Material
小部件,这就是
PageView
子级后面的背景为黑色的原因

从文件中:

Scaffold
实现了基本的材料设计可视化布局结构

如果没有此小部件,您会注意到您的应用程序可能会占用设备的整个屏幕,包括通知栏,因为它(
PageView
)不知道状态栏在屏幕中的位置

你能做什么

我注意到在
PageView
中添加的所有子部件都有单独的
Scaffold
AppBar
,您可能希望使用而不是
PageView
,并让父部件通过处理
AppBar
更改

但是,如果您认为重构会花费您太多的精力,请随意查看以下选项,这些选项需要最小的更改,以满足您的需要:

选项1。您可以将小部件包装在
Scaffold
小部件中

选项2。鉴于嵌套
Scaffold
小部件不是一种好的做法,您可以使用普通
材质
小部件包装
PageView
,并使用
Scaffold
小部件包装子部件

这些解决方案将
PageView
的背景色从黑色更改为白色

选项3。如果您真的想摆脱动画,最简单的破解方法是更改您的滚动物理:

physics:ClampingScrollPhysics(),
但是,当您尝试在屏幕末端滑动时,这仍然会产生发光或涟漪效果

为了进一步消除这种影响,我将与您分享以下答案:

  • (适用于Android)
  • (为iOS工作)
进一步阅读


您是指屏幕边缘显示的动画吗?是的,我希望如此。您可能需要使用页面视图功能构建自己的小部件来删除该动画。该动画是为了更好的用户体验而存在的,这样用户就知道他已经到达了滚动项目的末尾和开头。为什么要删除它?从用户测试中,我得到了令人不安的响应。用户认为应该有他们所缺少的东西。此外,它是黑色的,没有机会将其更改为白色,这增加了混乱。你能分享一个屏幕截图吗?黑色对于它的显示来说是一种奇怪的颜色。你是指屏幕边缘显示的动画吗?是的,我希望如此。你可能不得不这样做