flutter - Flutter - 在 MaterialApp 中覆盖 HeroController 可能吗?
问题描述
所以我一直在玩Hero
动画,想为它们使用自定义曲线。我createRectTween
在实例化Hero
小部件时很容易使用它来实现它。但是我想为每个单独的 Hero 小部件设置自定义曲线,而不是对其进行子类化。
所以我一直在挖掘heroes.dart
并发现,它HeroController
默认用于英雄转换,并且它被设置_MaterialAppState
为私有变量。有什么方法可以覆盖MaterialApp
小部件中的英雄控制器,还是我必须简单地将Hero
小部件子类化/不使用MaterialApp
?
我的想法只是使用类似的东西:
final NavigatorObserver heroNavigatorObserver = HeroController(
createRectTween: (begin, end) {
return CustomCurveRectTween(
a: begin, b: end, curve: Curves.bounceInOut);
},
);
MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
brightness: Brightness.dark,
primarySwatch: Colors.blueGrey,
backgroundColor: Colors.blueGrey,
splashColor: Colors.blueGrey,
),
navigatorObservers: [heroNavigatorObserver],
home: SplashPage(),
)
编辑:CustomCurveRectTween
是我自己的实现RectTween
解决方案
推荐阅读
- java - 从接口访问子类
- r - 在R中同时迭代三个列表
- excel - 按单元格值过滤数据模型数据透视表
- tensorflow2.0 - `tf.function` 装饰器导致批处理形状为`NoneType`(Tensorflow2,Python)
- node.js - 在 Node + Express appp 中使用 Mocha 和 Chai 测试 try catch
- java - echo $JAVA_HOME 尽管已在 zshrc 中正确设置,但在 MacOS catalina 中返回空白
- angular - Angular CLI - 不同的开发和产品资产集
- codenameone - 设备崩溃,但 Form.java 中没有可执行代码?
- android - 未解析的类名 proguard-rules Android Studio 4.0
- javascript - 将数组中的键值对插入 SQL 查询字符串