在Android版Mono中,我有一个ImageButton,并且我想在用户按住按钮时更改其图像。并且当用户释放按钮图像时,应更改为以前的图像。我正在尝试下面的代码,但是什么也没有发生:
private void _goForward_KeyPress(object sender, View.KeyEventArgs e)
{
if(e.Event.Action == KeyEventActions.Down)
{
_goForward.SetImageResource(Resource.Drawable.arrowUpGreen);
//Then do some stuff
}
else
{
_goForward.SetImageResource(Resource.Drawable.arrowUpRed);
//Then do some stuff
}
}
我不确定是否要通过正确的活动来做到这一点。在这种情况下通常应使用什么事件?
最佳答案
您需要将方法附加到按钮的KeyPress
事件上,以便调用它,因为接线不会自动发生:
_goForward.KeyPress += _goForward_KeyPress;
编辑
糟糕,我应该在第一时间仔细阅读这个问题。由于尝试在触摸按钮时挂入,因此需要
Touch
事件:_goForward.Touch += _goForward_Touch;
和
private void _goForward_Touch(object sender, View.TouchEventArgs touchEventArgs)
{
if (touchEventArgs.Event.Action == MotionEventActions.Down)
{
Toast.MakeText(this, "down", ToastLength.Short).Show();
}
else
{
Toast.MakeText(this, "up", ToastLength.Short).Show();
}
}
关于android - 按下并释放时更改ImageButton的图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14078164/