Ich bin neu in Xamarin Android und arbeitet derzeit an einer schwimmenden Aktion Schaltfläche, ich implementiert View.IOnTouchListener und normale Schaltfläche Klick-Ereignis (faButton.Click + = floatButtonPressed;) um meine Handlungen auszuführen. Aber für den Fall MotionEventActions.Move funktioniert es nicht wie ich wollte. Links und rechts bewegt es sich gut, aber für oben und unten wird es ein wenig nach unten bewegen, wenn ich es bewege. Außerdem, wenn ich den Knopf zum Bildschirmrand bewege, kann es den Bildschirm überschreiten. Daher habe ich versucht, Bildschirmgröße zu erkennen und zu beschränken, aber es ist immer noch nicht gut genug, gibt es noch andere verfügbare Lösung oder Einstellungen?So erstellen Sie eine bewegliche und anklickbare Schaltfläche in 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;
}
können Sie dois –
Ansicht (Button) auf Touch entfernen und hinzufügen Was Sie mit dem Entfernen gemeint haben und Sicht hinzufügen? Kannst du mir ein paar Hinweise geben? @JinalPatel –
Sie wollen beweglichen Knopf für, dass Sie eine Taste verwenden können, die hinzugefügt wird, wo Sie berühren und von der letzten Position entfernt –