- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
所以我试图在 flutter 中创建一个简单的幻灯片过渡元素,但遇到了一些困难。下面所做的是等待动画时间,然后只显示 Text("hello there Sailor")
。我不知道为什么这不是动画 - 它似乎与之前的帖子非常相似,其中有一个简单的示例 (Sliding animation to bottom in flutter)。
这就是我如何调用以下代码: DeleteCheck(offsetBool: widget.model.deleteNotify, widthSlide: 0.50*width100)
where double width100 = MediaQuery.of(context).size .width;
.
有人看到我做错了吗?
class DeleteCheck extends StatefulWidget{
final offsetBool;
final double widthSlide;
DeleteCheck({
Key key,
this.offsetBool,
this.widthSlide
}): super(key: key);
@override
State<StatefulWidget> createState() {
return new _MyDeleteCheck();
}
}
class _MyDeleteCheck extends State<DeleteCheck> with TickerProviderStateMixin {
AnimationController _controller;
Animation<Offset> _offsetFloat;
@override
void initState() {
super.initState();
_controller = AnimationController(
vsync: this,
duration: const Duration(seconds: 1),
);
_offsetFloat = Tween<Offset>(begin: Offset(widget.widthSlide, 0.0), end: Offset.zero)
.animate(_controller);
_offsetFloat.addListener((){
setState((){});
});
_controller.forward();
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
double height100 = MediaQuery.of(context).size.height;
double width100 = MediaQuery.of(context).size.width;
return new SlideTransition(
position: _offsetFloat,
child: Container(
color: Colors.cyan,
width: 0.525*width100-3.0,
child: Text("hello there sailor")
)
);
}
}
最佳答案
我要告诉你一个好消息!您的代码正在运行! :) 动画看起来好像没有发生,因为它移动的距离巨大。 Offset ,传递给 SlideTransition , 是相对于它的 child 的大小。例如您的 child 有 width: 100.0
并且您使用 Offset(2.0, 0.0)
偏移,您的 child 将向右移动 200.0
像素.
尝试一下更改开始:偏移(widget.widthSlide,0.0),结束:偏移.零
到 开始:Offset(2.0, 0.0),结束:Offset.zero
。您会看到文本从屏幕右侧缓慢移动到屏幕中央。因此,您只需要调整参数设置。
无论如何,这里有一些关于优化代码的额外建议:
setState
调用 addListener
。 AnimatedWidget
自己处理它。因此,您可以删除以下行:行:
_offsetFloat.addListener((){
setState((){});
});
const
构造函数。您可以像 new
一样忽略此关键字。编译器会在每种情况下优化并选择正确的构造函数。关于user-interface - Flutter slideTransition没有动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53328534/
我正在尝试创建下面的动画,其中 Container 后面有一个小部件。 我尝试使用 Dismissible 类,但根据下面的 gif,它的动画不会在某个点停止,它会走到最后并随项目一起消失: 我将代码
我对如何使用 SlideTransition 感到困惑,尤其是关于 Position 属性。 Atm 我有一个 AnimationBuilder,我想在其中使用 SlideTransition 和 A
在下面实现的代码中,我可以在页面底部显示带有 Fade 动画的对话框,现在,我想将 SlideTransition 添加到 ModalRoute这个实现从底部滑动对话框,但我不能那样做 例如,我想要的
我在 flutter 中为一个小部件实现了 SlideTransition,它按预期滑入。问题是在调用动画之前,稍后要显示 slider 的空间是空的。 在 slider 进入 View 之前,如何让
我已经设法达到这样的程度,即我有一个 AnimatedList,它将滑入新添加的项目。包装我的列表项的 Dismissible 小部件控制删除动画。我的问题是如何向 SlideTransition 添
我的应用程序是一个简单的 Column,其中包含 3 个包含在 SlideTransitions 中的文本小部件。我的目标是让应用程序在屏幕上没有任何内容的情况下加载,然后将这些文本小部件从底部(屏幕
我是一名优秀的程序员,十分优秀!