我目前正在使用Xamarin.Forms构建移动应用程序,当我尝试在xaml上使用Xamarin.Forms gestures,尤其是tap gesture时,我在iOS和android平台上都遇到了问题< strong>标签。因为我想将此标签用作链接。
问题是我使用的这个制表符手势有时无法正常工作(大约5次测试= 1次错误)。
在调试期间,当问题发生时,我发现仍可以识别制表符,但在我设置的操作中没有响应。
它同时出现在iOS和Android设备上。
这是我的XAML代码:
<RelativeLayout>
<Image Source="icon_question" WidthRequest="15" HeightRequest="15"></Image>
<Label Margin="15, -3, 0, 0" HorizontalOptions="CenterAndExpand" HorizontalTextAlignment="Center"
Text="Some text" TextColor="Blue" FontSize="15" TextDecorations="Underline">
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="_tabLinkForgetPassword"></TapGestureRecognizer>
</Label.GestureRecognizers>
</Label>
</RelativeLayout>
这是我后面的代码:
private void _tabLinkForgetPassword(object s, EventArgs e)
{
App.Current.MainPage = new ResetPasswordPage(false);
}
我希望标签页每次都能响应,而不仅仅是这样。感谢您的帮助。
答案 0 :(得分:0)
如AndroDevil所述,您必须在父对象(Grid,StackLayout,ContentView以及您想要的任何对象)上处理轻击手势。在您的情况下,为什么不使用相对布局?因此,您可以点击“标签”或“图像”。
当您认为它不起作用时,只是当您点击空白处时:在字符之间(甚至在像O这样的char的空白内(但要承认这一点,那种情况下很难点击)像素))。
最后,您不需要设置NumberOfTapsRequired,因为据我所知,它是默认值。