作为标题,我想了解 cacheExtent 及其在做什么。它需要双重值;我试图让它等于 999999999999999 然后我注意到 ListView.Builder 滚动性能有了巨大的改进,所以我需要了解它。
我有一个简单的动画:
Animation<double> animation;
Tween<double> tween = Tween(begin: 1, end: 1.15);
AnimationController animationController;
@override
void initState() {
super.initState();
animationController =
AnimationController(vsync: this, duration: Duration(milliseconds: 300));
animation = animationController.drive(tween);
}
Run Code Online (Sandbox Code Playgroud)
我想要的是 ?
使这个动画重复例如 20 次。
我在发布这个问题之前尝试过什么?
1- 此方法没有使我重复此动画的参数或方式,例如 20 次。
它重复,重复,永远重复:
animationController.repeat();
Run Code Online (Sandbox Code Playgroud)
2- 使用简单的循环。它挂起我的应用程序,它需要停止整个应用程序并重新运行它以解决挂起的. 循环似乎完全不处理期货:
do {
animationController.forward().then((x) {
animationController.reverse().then((x) {
repeats++;
});
});
} while (repeats < 20);
Run Code Online (Sandbox Code Playgroud)
3- 制作 int 变量并添加一个监听器 .. 等,它正在工作,但似乎这不是最好的方法:
int repeats = 0; …Run Code Online (Sandbox Code Playgroud) 我有一个CustomScrollView包含一个:-
1-SliverToBoxAdapter具有小部件树
2- SliverList
当我SliverList用PageView
它的正常包裹时会发生问题,因为CustomScrollView只接受Slivers
代码片段
CustomScrollView(
slivers: <Widget>[
SliverToBoxAdapter(child : ),
PageView(children: <Widget>[SliverList()])]
Run Code Online (Sandbox Code Playgroud)
运行结果
RenderViewport 需要 RenderSliver 类型的子级,但接收到 RenderRepaintBoundary 类型的子级。RenderObject 需要特定类型的子对象,因为它们在布局和绘制过程中与子对象协调。例如,RenderSliver 不能是 RenderBox 的孩子,因为 RenderSliver 不理解 RenderBox 布局协议。