我有带有行图标的BottomAppBar。
BottomAppBar(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
IconButton(),
IconButton(),
IconButton(),
],
))
我想制作一个平滑的动画,以便在单击图标时,它会缩小,然后返回其原始大小。我会称其为拍打效果。我知道一种通过一堆animationcontroller来做到这一点的方法,但是有什么方法可以使其变得更容易,例如AnimatedSize还是其他?
是这样的:
0:IconSize = 20.0
1:onPressed:IconSize = 15.0
2:IconSize = 20.0
答案 0 :(得分:1)
尝试使用AnimatedContainer小部件来完成此操作,然后将其包装到GestureDetector中,并像这样更改容器的宽度和高度:
SELECT t0.*
FROM graph_job t0
WHERE (t0.id IN (SELECT t2.graph_job_id
FROM graph_job_role t2 INNER JOIN clover_role t1 ON (t2.clover_role_id = t1.role_id)
WHERE (t1.role_name IN ?1 )) )
答案 1 :(得分:0)
您可以使用 AnimatedBuilder、TweenSequence 和 AnimationController 来实现这一点。 AnimatedBuilder
的官方文档很好地解释了设置(即使有视频)。
您的 TweenSequence
可能如下所示:
final Animation<double> animation = TweenSequence(
<TweenSequenceItem<double>>[
TweenSequenceItem<double>(
tween: Tween<double>(begin: 20.0, end: 15.0)
.chain(CurveTween(curve: Curves.ease)),
weight: 50.0,
),
TweenSequenceItem<double>(
tween: Tween<double>(begin: 15.0, end: 20.0)
.chain(CurveTween(curve: Curves.ease)),
weight: 50.0,
),
],
).animate(myAnimationController);