在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/

10-11 22:19
查看更多