所以我想做一些类似的微光,但它只是褪色,而不是像这个包https://pub.dev/packages/fade_shimmer滑动褪色,但因为它没有孩子的属性,所以我想做我自己的动画,我只是想创建一个容器,有 Flink 效果的动画,我认为它只改变不透明度,但我不知道。这是我的代码
late AnimationController _animationController;
late Animation<double> _animation;
@override
void initState() {
super.initState();
_animationController = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 1200),
);
_animation = Tween<double>(begin: 1, end: 0.3).animate(_animationController)
..addListener(() {
_animationController
.forward()
.then((value) => _animationController.reverse());
setState(() {});
log('animation value === ${_animation.value}');
});
}
@override
void dispose() {
super.dispose();
_animationController.dispose();
}
Container(
height: widget.height,
width: widget.width,
clipBehavior: Clip.antiAlias,
margin: EdgeInsets.fromLTRB(widget.marginLeft ?? 0, widget.marginTop ?? 0,
widget.marginRight ?? 0, widget.marginBottom ?? 0),
decoration: BoxDecoration(
color: widget.altColor
? MyThemes.colorBrown
: MyThemes.colorLightBrown.withOpacity(_animation.value),
borderRadius: widget.radius != null
? BorderRadius.all(
Radius.circular(widget.radius ?? 0),
)
: BorderRadius.vertical(
bottom: Radius.circular(widget.radiusBottom ?? 0),
top: Radius.circular(widget.radiusTop ?? 0),
),
),
child: widget.child,
);
2条答案
按热度按时间xsuvu9jc1#
这就是我能产生的 Flink 效果。您可以根据需要更改持续时间。
Link to the output
vlurs2pr2#
试试这个代码。