动画运行时阻止事件
本文关键字:事件 运行时 动画 | 更新日期: 2023-09-27 18:21:22
我正在开发一个应用程序,在该应用程序中我植入了滑动功能。
当用户滑动一个框时,它会触发一个事件,在该事件中,框被设置为滑动一侧的动画。在那里我创建了如下所示的动画
boxview.Swiped += (s, e) =>
{
if (e.Direction == MR.Gestures.Direction.Right)
{
boxview.TranslateTo(-600, 0, 500, null);
}
}
所以我想做的是忽略这个,如果在完成动画所需的500毫秒时间内再次调用它。
我一直在考虑取消活动。但我仍然需要一种方法来说它应该只在时间范围内完成。但运气不好。
不管怎样,谢谢你的意见,谢谢你抽出时间。
由于我不熟悉Xamarin本身,所以这个答案是理论性的。TranslateTo似乎是不可用的,所以你可以使用你正在滑动的标志,等待TranslateTo并在之后重置标志
bool swiping;
boxview.Swiped += async (s, e) =>
{
if (e.Direction == MR.Gestures.Direction.Right && !swiping)
{
swiping = true;
await boxview.TranslateTo(-600, 0, 500, null);
swiping =false;
}
}
您可以启动一个计时器,并在下一个事件中检查它。