【发布时间】:2018-03-16 13:43:50
【问题描述】:
有没有机会改变 Xamarin Forms 中平移手势的速度?
这是我的 OnPanUpdated 函数和 Clamp 函数:
void OnPanUpdated(object sender, PanUpdatedEventArgs e)
{
switch (e.StatusType)
{
case GestureStatus.Started:
StartX = (1 - AnchorX) * Width;
StartY = (1 - AnchorY) * Height;
break;
case GestureStatus.Running:
AnchorX = Clamp(1 - (StartX + (e.TotalX)) / Width, 0, 1);
AnchorY = Clamp(1 - (StartY + (e.TotalY)) / Height, 0, 1);
break;
}
}
private T Clamp<T>(T value, T minimum, T maximum) where T : IComparable
{
if (value.CompareTo(minimum) < 0)
return minimum;
else if (value.CompareTo(maximum) > 0)
return maximum;
else
return value;
}
我尝试更改该函数中的每个参数。没有什么真正有效。 当我在屏幕上移动手指时,图像在移动,但对我来说太慢了。 有人可以给我一个建议或解决方案以使其更快地移动吗?
【问题讨论】:
-
如果根据起始位置测量 Y 轴和 X 轴的位移量,并逐步增加位移的加权因子会怎样?
-
例如,我尝试将 e.TotalX 值(即从手势开始时 X 方向的变化)相乘,但它不起作用。
-
@SushiHangover 的回答完全符合我的意思! =)
标签: c# xamarin xamarin.forms gesture pan