我正在构建画廊应用,该应用在列表/网格中显示项目,并在按下该按钮时会转换为详细视图。我正在使用英雄动画作为主要图像元素,并且希望在英雄转换完成后(在工厂中淡入淡出,在文本中滑动等)对局部视图的一部分进行动画处理。
是否可以使用任何属性或回调来收听英雄动画更新并像onAnimationEnd
这样的动画中启动我的动画?
我知道在将视图推到屏幕上之后,我可以“破解”解决方案并在动画300ms中开始淡入淡出(据我所记得,这是英雄动画的默认持续时间),但感觉不对。
答案 0 :(得分:0)
您是否尝试过使用Future?
// added:
class BookFilteredListSerializer(serializers.ListSerializer):
def to_representation(self, data):
data = data.visible_to(self.context['request'].user)
return super(BookFilteredListSerializer, self).to_representation(data)
// And then reference this from the actual BookSerializer meta:
class WorkSerializer(serializers.ModelSerializer):
...
class Meta:
model = Work
list_serializer_class = WorkFilteredListSerializer
fields = (...)
计算Hero动画的时间,并将其设置为Duration的延迟。
在initState()内部调用函数
然后,您可以将小部件像这样包装在AnimatedOpacity小部件中,直到延迟时间,所有内容都将被隐藏起来,一旦结束,它们将像淡入淡出。
double opacity = 0;
Future < void > showAfter() async {
await Future.delayed(Duration(seconds: 3), () {
print('delay completed');
});
setState(() {
opacity = 1;
});
}
您可以设置不同的曲线和持续时间