Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建一个;“ontouch”;xamarin mvvmcross中我的按钮的事件?_Xamarin_Touch_Mvvmcross_Ontouch - Fatal编程技术网

如何创建一个;“ontouch”;xamarin mvvmcross中我的按钮的事件?

如何创建一个;“ontouch”;xamarin mvvmcross中我的按钮的事件?,xamarin,touch,mvvmcross,ontouch,Xamarin,Touch,Mvvmcross,Ontouch,在我的项目中,我试图创建一个音频按钮,就像一个使用whatsap的按钮,当你一直按下开始录制和放下停止录制时。我找到了解决方案,他使用两个按钮,一个开始,一个结束。我需要的是,在按下和释放时,使用相同的按钮,执行我的代码。我没有找到我试图捕获的事件的任何实现。你能帮我做这个吗? 这是axml文件中的我的按钮 <android.support.design.widget.FloatingActionButton android:id="@+id/btn_re

在我的项目中,我试图创建一个音频按钮,就像一个使用whatsap的按钮,当你一直按下开始录制和放下停止录制时。我找到了解决方案,他使用两个按钮,一个开始,一个结束。我需要的是,在按下和释放时,使用相同的按钮,执行我的代码。我没有找到我试图捕获的事件的任何实现。你能帮我做这个吗? 这是axml文件中的我的按钮

 <android.support.design.widget.FloatingActionButton
                android:id="@+id/btn_record"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|right"
                android:src="@drawable/ic_micro"
                android:layout_marginRight="15dp"
                android:layout_marginBottom="15dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:theme="@style/ControlsTheme"
                local:MvxBind="Click RecordAudioClick; Visibility Visibility(RecordAudioVisibility); Touch Touch" />

在Android上,您可以订阅
Touch
事件:

button.Touch += OnButtonTouch;

private void OnButtonTouch(object sender, View.TouchEventArgs args)
{
    var handled = false;
    if (args.Event.Action == MotionEventActions.Down)
    {
        // do stuff when pressed
        handled = true;
    }
    else if (args.Event.Action == MotionEventActions.Cancel ||
             args.Event.Action == MotionEventActions.Up)
    {
        // do stuff when released
        handled = true;
    }

    args.Handled = handled;
}
在iOS上,此代码类似:

button.TouchDown += OnButtonTouchDown;
button.TouchUpInside += OnButtonTouchUpInside;

private void OnButtonTouchDown(object sender, EventArgs e)
{
    // do stuff when pressed
}

private void OnButtonTouchUpInside(object sender, EventArgs e)
{
    // do stuff when released
}

Cheesebaron我不太明白如何完成代码的实现。我更新了我的问题,所以它更完整,也许你可以告诉我我错在哪里你不明白吗?首先,你的问题描述得非常模糊。
button.TouchDown += OnButtonTouchDown;
button.TouchUpInside += OnButtonTouchUpInside;

private void OnButtonTouchDown(object sender, EventArgs e)
{
    // do stuff when pressed
}

private void OnButtonTouchUpInside(object sender, EventArgs e)
{
    // do stuff when released
}