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