NativeScript 动画只触发一次
NativeScript animation just firing once
我有一个包含 ListView 的 NativeScript 项目。我使用了它的事件 "onItemTap" 这是我写的函数:
onItemTap(args){
let clicked = args.view.bindingContext;
let fav = this.page.getViewById("star-"+clicked.id);
fav.animate({
rotate: 360,
duration: 1000
});
}
基本上我正在检索我单击的项目,在项目内部有一个标签,其 id "star-N"
[N 是项目的 intex],我正在为它制作动画。
它工作正常,问题是它只工作一次!从第二次点击开始,它不再有动画。控制台未返回任何错误。我正在使用我的 Android 设备对其进行调试。
有什么想法吗?谢谢!
显然在旋转之后,元素的 "rotate" 属性 没有重置为初始值。这意味着在第一次点击时,你的旋转 属性 从 0 => 360 开始,然后在第二次点击时从 360 => 360 开始,所以没有动画发生。
不确定是否真的打算这样,但您始终可以在动画完成后手动将旋转 属性 设置为 0:
onItemTap(args) {
let clicked = args.view.bindingContext;
let fav = this.page.getViewById("star-"+clicked.id);
fav.animate({
rotate: 360,
duration: 1000
}).then(() => fav.rotate = 0);
}
我有一个包含 ListView 的 NativeScript 项目。我使用了它的事件 "onItemTap" 这是我写的函数:
onItemTap(args){
let clicked = args.view.bindingContext;
let fav = this.page.getViewById("star-"+clicked.id);
fav.animate({
rotate: 360,
duration: 1000
});
}
基本上我正在检索我单击的项目,在项目内部有一个标签,其 id "star-N"
[N 是项目的 intex],我正在为它制作动画。
它工作正常,问题是它只工作一次!从第二次点击开始,它不再有动画。控制台未返回任何错误。我正在使用我的 Android 设备对其进行调试。
有什么想法吗?谢谢!
显然在旋转之后,元素的 "rotate" 属性 没有重置为初始值。这意味着在第一次点击时,你的旋转 属性 从 0 => 360 开始,然后在第二次点击时从 360 => 360 开始,所以没有动画发生。
不确定是否真的打算这样,但您始终可以在动画完成后手动将旋转 属性 设置为 0:
onItemTap(args) {
let clicked = args.view.bindingContext;
let fav = this.page.getViewById("star-"+clicked.id);
fav.animate({
rotate: 360,
duration: 1000
}).then(() => fav.rotate = 0);
}