可移動和點擊的按鈕,我是新來的Xamarin的Android和目前工作的一個浮動的操作按鈕,我實現View.IOnTouchListener和普通按鈕點擊事件(faButton.Click + = floatButtonPressed;)執行我的行動。但對於的情況MotionEventActions.Move,它不工作,因爲我想。左右移動可以正常工作,但是對於頂部和底部,只要我開始移動,它會向下移動一點點。此外,當我將按鈕移動到屏幕邊框時,它將能夠超出屏幕。因此,我試圖檢測屏幕大小,並限制它,但它仍然不夠好,有沒有其他可用的解決方案或設置?如何創建Android的
public bool OnTouch(View v, MotionEvent e)
{
switch (e.Action)
{
case MotionEventActions.Down:
oldXvalue = e.GetX();
oldYvalue = e.GetY();
if (oldXvalue == e.GetX() && oldYvalue == e.GetY())
{
return false;
}
break;
case MotionEventActions.Up:
if (oldXvalue == e.GetX() && oldYvalue == e.GetY())
{
return false;
}
break;
case MotionEventActions.Move:
var xleft = (int)(e.RawX - oldXvalue);
var xright = xleft + v.Width;
var ytop = (int)(e.RawY - oldYvalue);
var ybtm = (ytop + v.Height);
if (xleft + v.Width >= intWidth)
{
break;
}
if (xleft <= 0)
{
break;
}
if (ytop + v.Height >= intHeight)
{
break;
}
if (ytop <= 0)
{
break;
}
v.Layout(xleft, ytop, xright, ybtm);
break;
}
return true;
}
可以的DOI刪除和添加視圖(按鈕)觸摸 –
你是什麼意思刪除,並添加觀點?你能給我一些提示嗎? @JinalPatel –
你想要一個可移動的按鈕,你可以使用一個按鈕,它將添加在你觸摸並從上一個位置移開的地方 –