【问题标题】:Xamarin TapGestureRecognizer sometime does not work properlyXamarin TapGestureRecognizer 有时无法正常工作
【发布时间】:2019-04-18 07:08:17
【问题描述】:

我目前正在使用 Xamarin.Forms 构建我的移动应用程序,当我尝试在 xaml LabelXamarin.Forms gestures 尤其是 tap gesture 时遇到问题(在 ios 和 android 平台上) /强>。因为我想用这个标签作为链接。

问题是我使用的这个标签手势有时不起作用(大约 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);
}

我希望标签每次都会响应,而不仅仅是像这样。感谢您的所有帮助。

【问题讨论】:

  • 你添加了 NumberOfTapsRequired="1" 吗?
  • @AndroDevil 已经尝试过了,我很确定 NumberOfTapsRequired 不相关。谢谢你:D
  • 我认为您应该为标签周围的布局提供点击识别器。否则,您需要准确单击标签。提供相对布局的点击
  • @AndroDevil 解决了这个问题,只有我必须调整 RelativeLayout 的大小以使其适合其组件。非常感谢。
  • 快乐编码:)

标签: xaml xamarin xamarin.forms gesture uitapgesturerecognizer


【解决方案1】:

正如 AndroDevil 所说,您必须处理父级(Grid、StackLayout、ContentView 等任何您想要的)上的点击手势。在你的情况下,你为什么不使用相对布局?因此,您可以点击标签或图片。

当您认为它不起作用时,只是当您点击空白空间时:字符之间(甚至在像 O 这样的字符的空白内(但承认,有点难以点击那几个像素))的文本。

最后,你不需要设置 NumberOfTapsRequired 因为据我记得,它是默认值。

【讨论】:

    猜你喜欢
    • 2022-11-29
    • 1970-01-01
    • 2022-01-15
    • 2021-06-25
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多