【发布时间】:2020-04-05 07:26:10
【问题描述】:
我正在使用这个拖放代码:https://github.com/CrossGeeks/DragViewSample/tree/master/DragViewSample/DragViewSample
这很好用,但现在我不仅想要拖放图像,还想要点击操作。该功能可能需要在这部分代码的自定义渲染器中完成:
public override bool OnTouchEvent(MotionEvent e)
{
float x = e.RawX;
float y = e.RawY;
var dragView = Element as DraggableView.DraggableView;
switch (e.Action)
{
case MotionEventActions.Down:
if (dragView.DragMode == DragMode.Touch)
{
if (!touchedDown)
{
if (firstTime)
{
originalX = GetX();
originalY = GetY();
firstTime = false;
}
dragView.DragStarted();
}
touchedDown = true;
}
dX = x - this.GetX();
dY = y - this.GetY();
break;
case MotionEventActions.Move:
if (touchedDown)
{
if (dragView.DragDirection == DragDirectionType.All || dragView.DragDirection == DragDirectionType.Horizontal)
{
SetX(x - dX);
}
if (dragView.DragDirection == DragDirectionType.All || dragView.DragDirection == DragDirectionType.Vertical)
{
SetY(y - dY);
}
}
break;
case MotionEventActions.Up:
touchedDown = false;
dragView.DragEnded();
break;
case MotionEventActions.Cancel:
touchedDown = false;
break;
}
return base.OnTouchEvent(e);
}
但我不知道如何在不移动图像的情况下为其添加 Click 功能。 只是为了这个想法,当我单击图像时我想要一个弹出窗口,并且当我按住它时仍然能够拖放。 有人可以帮我吗?
【问题讨论】:
标签: c# xamarin xamarin.forms xamarin.android xamarin.ios