问题标签 [mr.gestures]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
580 浏览

nuget - 管理 Nuget 的解决方案告诉我更新包,但不提供要更新的项目

当我点击Manage Nuget for Solution我的Solution我检查更新并看到我的一个包Mr.Gestures(虽然我不确定包是否重要)需要更新。

我点击Update它,它要求我这样做,Select Projects但没有项目可供选择,因为它们都被禁用(见下面的截图)。

在此处输入图像描述

我需要做什么才能solution识别出Package它是最新的?

0 投票
2 回答
146 浏览

c# - 动画运行时阻止事件

我正在开发一个我植入了滑动功能的应用程序。

当用户滑动一个框时,它会触发一个事件,在该事件中该框被动画以滑动一侧。我在哪里创建了如下所示的动画

所以我想做的是忽略这个,如果在 500ms 时间内再次调用它来完成动画。

一直在考虑只参加活动(e)并取消它。但我仍然需要一种方式来说明它应该只在时间跨度内完成。并且没有运气让它工作。

无论如何,感谢您提供的任何意见,并感谢您的时间。

0 投票
1 回答
1057 浏览

xamarin - 向孩子传递手势

我有一个带有游戏板的应用程序,可以使用 mr.gestures 拾取和移动瓷砖,效果很好。

我的游戏板是一个MR.Gestures.AbsoluteLayout,这就是我捕捉平移手势的地方。

如果我将该游戏板作为孩子添加到另一个游戏板,MR.Gestures.AbsoluteLayout那么手势似乎被父母阻止并且不再起作用。

有没有办法将手势传递给孩子或以某种方式忽略父母的手势?

0 投票
1 回答
248 浏览

xamarin.forms - 在 Xamarin.Forms 中拖动不规则形状

我有一个 Xamarin.Forms 应用程序,我需要在其中拖动不规则形状的控件 (TwinTechForms SvgImageView ),如下所示:

在此处输入图像描述

我希望它只响应黑色区域的触摸,而不是透明(方格)区域

我尝试使用MR.Gestures包。连接到 Panning 事件可以让我拖动图像,但当我触摸它的透明部分时它也会开始拖动。

我的设置如下所示:

和代码隐藏

在这个代码隐藏中,我应该如何检查我是否击中了目标对象上的透明点,以及当发生这种情况时如何取消手势,以便该手势下的另一个视图可以响应它?在右侧图像中,触摸绿色 O 孔内的红色应该开始拖动红色 O

更新:已解决

接受的答案的建议有效,但并不简单。

我不得不分叉和修改 NGraphics ( github fork ) 和 TwinTechsFormsLib ( TTFL, github fork )

在 NGraphics 分支中,我向 SvgReader 添加了一个 XDocument+filter ctor,因此可以将相同的 XDocument 传递到具有不同解析过滤器的不同 SvgImageView 实例中,从而有效地将原始 SVG 拆分为多个 SvgImageView 对象,这些对象可以独立移动而无需太多内存命中。我必须为我的 SVG 修复一些笔刷继承,才能按预期显示。

TTFL fork 公开了 XDocument+filter ctor 并将特定于平台的 GetPixelColor 添加到渲染器。

然后在我的 Xamarin.Forms 页面中,我可以将原始 SVG 文件加载到多个 SvgImageView 实例中:

然后,我将所有 svgImageViews 添加到 MR.Gesture<mr:Grid x:Name="movableHost">并将 Panning 和 Panned 事件连接到它。

SvgImageView dragSvgView = null; 点 originalPosition = Point.Zero;movableView.Panning += (sender, pcp) => { // 如果我们没有拖动任何东西 - 检查之前加载的 SVG 图像 // 如果它们在触摸点有不透明的像素 if (dragSvgView==null) { dragSvgView = svgImages.FirstOrDefault(si => { var c = si.GetPixelColor(pcp.Touches[0].X - si.TranslationX, pcp.Touches[0].Y - si.TranslationY); 返回 cA > 0.0001; });

}

0 投票
2 回答
9298 浏览

c# - Xamarin:如何获取光标/触摸坐标(位置 X 和 Y)?

介绍

我正在创建我的第一个 Xamarin 应用程序(它将首先针对 UWP,然后是 Android,最后可能是 iOS)。

基本上,应用程序应该检测到多个手指,并且圆圈会在每个手指上弹出并跟随它们。

我的应用

首先,我认为 UI 和图形无法用 Xamarin 编码,所以我开始使用 UWP 代码:

MainPage.xaml.cs

主页.xaml

如您所见,我可以获得光标的 X 和 Y 位置,但我的椭圆不显示。所以我注意到 Xamarin xaml 赢了,而不是我的 UWP xaml。

所以我再次尝试使用 Xamarin。我寻找共享代码图形 API,我找到了 SkiaSharp。我的椭圆出现在 Xamarin 代码中:

MainPage.xaml.cs

主页.xaml

最后,它只停留在每个触摸点的 X 和 Y 位置上来绘制我的椭圆。如您所见,我以不同的方式看待:TapGestureRecognizerPanGestureRecognizer...

但我无法得到那些坐标。

我找到了 MR.Gestures API,但它是按应用名称许可的。

问题

所以,我问实验的人:

  • Xamarin 是否提供触摸位置/手势 API?
  • MR.Gestures 是处理触摸的最佳解决方案吗?
  • 是否有其他触摸共享代码 API?

或者简单地说,我怎样才能用 Xamarin 获得所有接触点的坐标

谢谢

PS:我在写这个堆栈时发现这篇文章,阅读......

0 投票
1 回答
1076 浏览

c# - C#:在 SKCanvas 中绘图时出现 AccessViolationException

介绍

我正在创建我的第一个 Xamarin 应用程序(它将首先针对 UWP,然后是 Android,最后可能是 iOS)。

基本上,应用程序应该检测到多个手指,并且圆圈会在每个手指上弹出并跟随它们。

问题

我正在System.AccessViolationException尝试从 MR.gesturesSKCanvas使用我的onPanning方法。

截屏

UWP 应用和 Visual Studio 2017 上的 AccessViolationException

细节

L'exception System.AccessViolationException s'est produite
HResult=0x80004003 Message=试图读取或写入受保护的内存。这通常表明其他内存已损坏。
来源= Arborescence des appels de procédure:à SkiaSharp.SkiaApi.sk_canvas_draw_circle(IntPtr t,Single cx,Single cy,Single radius,IntPtr paint)à SkiaSharp.SKCanvas.DrawCircle(Single cx,Single cy,Single radius,SKPaint paint)à App1.MainPage.drawCircleOnCanvas(Point pointerPos, Int32 radius) dans d:\Profiles\qpollet\Documents\Visual Studio 2017\Projects\App1\App1\App1\MainPage.xaml.cs :ligne 70 à App1.MainPage.onPanning(Object发件人,PanEventArgs e) dans d:\Profiles\qpollet\Documents\Visual Studio 2017\Projects\App1\App1\App1\MainPage.xaml.cs :ligne 54 à MR.Gestures.GestureHandler.<>c__DisplayClass115_0`1.b__0( ) à Xamarin.Forms.Platform.UWP.WindowsBasePlatformServices.<>c__DisplayClass2_0.b__0()

编码

MainPage.xaml.cs

主页.xaml

结果 Windows 10 模拟器上的 Xamarin SKCanvas 屏幕截图

任何想法 ?

0 投票
3 回答
2779 浏览

xamarin.forms - 如何使用 Xamarin 表单中的 MR.Gestures 从列表视图中查找长按事件的长按选定项目

我在列表视图上使用 MR.Gestures 进行长按事件。我能够触发长按事件但无法获取列表视图选择的长按项目。

在视图模型代码中,OnLongPressed 方法在长按列表视图项时被触发:

但我无法在 OnLongPressed 方法中选择长按项目。请建议如何在 OnLongPressed 方法中获取选定的长按列表项。我是 xamarin 形式的新手。提前致谢。

0 投票
1 回答
175 浏览

xamarin - IOS中xamarin.forms中MR.grid(在listview内)的长按事件调用两次

我正在使用 MR.Gestures 插件来处理单击和长按事件。

在下面的函数调用服务后,将我的数据分成两列并返回可观察的集合。

长按我检查了项目并重新绑定了我的整个项目源。“grd_left_product_DoubleTapped”和“grd_right_product_DoubleTapped”是我长按的事件

问题 :

此代码在 android 中运行良好,但在 IOS 中,当我长按一个项目时,它会检查但当我长按不同行中的另一个项目时,长按事件调用两次。

第一次,为之前的 Checked 项目,第二次为我们要检查的项目。这就是为什么已经检查过的第一次变为未检查的原因。

我的问题是为什么长按事件在 MR.Gestures 中调用了两次?

共有三行(索引 - 0,1,2)

  1. 索引 2 中的左侧项目已选中

  2. 现在我长按 index-1 的左侧项目。

  3. 长按事件调用两次。

  4. 第一次为 index-2 并取消选中所选项目。

  5. 第二次为 index-1 并检查。

0 投票
1 回答
64 浏览

xamarin.forms - 是否可以将 FFImageLoading 与 Mr.Gestures 结合使用?

是否可以将 FFImageLoading 与 Mr.Gestures 结合使用?如果是这样,那怎么可能?

它在这个线程中被提及:https ://forums.xamarin.com/discussion/32956/mr-gestures-handles-all-touch-gestures/p8

0 投票
0 回答
82 浏览

xamarin.forms - MR.Gestures ContentView on Tapped 事件在 iOS 模拟器上有 TapEventArgs.Touches null

我有一个从 MR.Gestures.ContentView 继承并 Tapped += PinchToZoomContainer_Tapped在构造函数中订阅的控件。还添加和图像和其他一些控件AbsoluteLayout,其中设置为Content.

在偶数处理程序内部(在点击时),Touchesnull(甚至没有提到它在列表中没有触摸)。

此外,具有以下内容(如果可能有帮助):

该问题仅出现在iOS模拟器上(Android 很好)。(不幸的是,目前无法检查实时 iOS 设备)。

所以,不知道为什么 Touches 为空会发生这种情况。