在android xamarin中禁用appwide上的多点触摸

在android xamarin中禁用appwide上的多点触摸,android,xamarin,Android,Xamarin,Xamarin论坛问题链接: 有没有办法在Xamarin Android中禁用多点触摸应用程序。 我目前有一个PCL项目。使用Xamarin表单UI实现共享代码 我只是想阻止用户在Android中点击超过1个按钮 我们所有的按钮都基于ICommand,并从viewModel调用。它们都是异步任务(我们希望使它们无阻塞并在后台线程中运行)。-->这种方法在iOS中运行良好,只是想在Android应用程序范围内禁用它 我在MainActivity.cs中尝试了以下内容 public overrid

Xamarin论坛问题链接:

有没有办法在Xamarin Android中禁用多点触摸应用程序。 我目前有一个PCL项目。使用Xamarin表单UI实现共享代码

我只是想阻止用户在Android中点击超过1个按钮

我们所有的按钮都基于ICommand,并从viewModel调用。它们都是异步任务(我们希望使它们无阻塞并在后台线程中运行)。-->这种方法在iOS中运行良好,只是想在Android应用程序范围内禁用它

我在MainActivity.cs中尝试了以下内容

public override bool OnTouchEvent(MotionEvent e)
{
    if(e.PointerCount > 1)
    {

     return false;
    }
    else
    {
        return base.OnTouchEvent(e);
    }

}
但这并没有产生任何影响。任何帮助都将不胜感激

public override void OnUserInteraction()
    {
        base.OnUserInteraction();
    }

可以工作,但不提供触摸事件的数量

应用禁用多点触摸的应用程序主题()

Resources/Values下添加名为Styles.xml的文件,其代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<resources>
    <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">    
        <item name="android:windowEnableSplitTouch">false</item>
        <item name="android:splitMotionEvents">false</item>
    </style>
</resources>

这将在整个应用程序中禁用多点触摸。

@matthewdev。谢谢你的回答。我已经想出了解决这个问题的办法。这是一种不同的方法。下面是:1)当我同时单击两个按钮时(两个按钮中的页面pushasync()都会被触发)2)但是Device.BeginInvokeOnMainthread一次只呈现一个页面(按顺序)。所以,我在两次按下按钮时都将一个标志设置为false,只有在出现任何一页时才将其设置为true。为了更好地衡量,我使用了Device.StartTimer(新的Timespan(0,0,60)。将标志设置为true会在一分钟后发生。这似乎已经停止了多页按多个按钮的过程。我的解决方案发布在Xamarin论坛的此线程上:@wsr007很高兴看到您找到了解决方案!
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
        android:versionCode="1" 
        android:versionName="1.0" 
        package="com.companyname.testapp">
    <uses-sdk android:minSdkVersion="11" />
    <application 
        android:allowBackup="true" 
        android:icon="@mipmap/icon" 
        android:label="@string/app_name" 
        android:theme="@style/MyAppTheme">
    </application>
</manifest>