在全球范围内放慢Flutter中的动画

时间:2018-06-30 16:53:10

标签: dart flutter

Flutter框架中有一个函数或方法,可用于调整每个小部件的动画/运行速度。

使用我认为的服务,这是可能

我只是忘了怎么称呼它,却找不到描述它的资源 +我也不知道我曾经在哪里发现它。

提供并没有更多的信息,因为这只是一个简单的一个衬里 。我希望有人知道我在说什么。

1 个答案:

答案 0 :(得分:11)

您需要设置timeDilation静态属性:

import 'package:flutter/scheduler.dart' show timeDilation;
// you can also import the whole file:
// import 'package:flutter/scheduler.dart'; 

...

timeDilation = 2.0; // Will slow down animations by a factor of two

我在show中使用了 import ,因为它将导入限制为从库中的某些声明。 在这种情况下,我只希望能够使用 timeDilation中的scheduler.dart,而不能使用其他任何东西。由于调度程序是非常底层的东西,因此不要污染名称空间是有意义的。还有hide的作用相反(仅隐藏某些声明)。

您可以在应用程序的任何位置进行设置,甚至可以在主要功能中进行设置:

import 'package:flutter/scheduler.dart' show timeDilation;

void main() {
  timeDilation = 3.0;
  runApp(new MyApp());
}

或在您按下的处理程序中:

onPressed: () => timeDilation = 2.0

这是全局静态属性,因此您无需调用setState即可进行更改。