我正试着在按住按钮的同时连续发送一些东西。它是Monodroid,所以我可以使用事件OnTouchEvent
,但这不是我想要的。我想要的只是像KeyPressed()
这样的事件,所以它会连续运行代码。
Monodroid中也没有KeyReleased()
事件,这意味着我需要使用别的东西,也许是MotionEvent
?我已经尝试过使用MotionEvent
,但效果不佳。
有人可以帮助我吗?
答案 0 :(得分:1)
您可以使用LongClick事件:
var button = new Button(this);
button.LongClick += (object sender, Android.Views.View.LongClickEventArgs e) => {
};
KeyPress事件:
button.KeyPress += (object sender, Android.Views.View.KeyEventArgs e) => {
};
参考:
利用OnTouch事件识别motionEvent。
例如:
public class MyTouchListener
: Java.Lang.Object
, View.IOnTouchListener
{
public bool OnTouch(View v, MotionEvent e)
{
if (e.Action == MotionEventActions.Down)
{
// do stuff
return true;
}
if (e.Action == MotionEventActions.Up)
{
// do other stuff
return true;
}
return false;
}
}
OR
Button button = FindViewById<Button> (Resource.Id.myButton);
var count = 0;
var handled = false;
button.Touch += (s, e) => {
if(e.Event.Action == Android.Views.MotionEventActions.Down)
{
// Do stuff.
System.Console.WriteLine("Counting ... " + count.ToString());
count++;
handled = true;
}
else if (e.Event.Action == Android.Views.MotionEventActions.Up)
{
// Do stuff.
System.Console.WriteLine("Counting ... " + count.ToString());
count++;
handled = true;
}
e.Handled = handled;
};
参考: