【问题标题】:Xamarin.Forms make non-transparent overlay not clickableXamarin.Forms 使非透明覆盖不可点击
【发布时间】:2016-07-09 01:08:16
【问题描述】:

我有这个 XAML

<ContentPage>
     <RelativeLayout>
          <ScrollView />
          <Button />
          <local:ModalActivityIndicator />
     </RelativeLayout>
</ContentPage>

此指示器相对于其父级并覆盖其整个宽度和高度。
该指标具有此绑定:this.SetBinding (IsVisibleProperty, "IsBusy");
它准确地显示了我想要的方式,但我仍然可以点击ScrollViewButton 中的项目。 当指标显示时,InputTransparent 属性设置为false

如何防止这种情况发生?

【问题讨论】:

  • 这可能是Xamarin.Forms 中的错误。在这种情况下,您需要在https://bugzilla.xamarin.com/ 提交错误报告。对我来说,您的代码看起来是正确的
  • 我怎么知道这是一个错误,而不是我的误解?我可以直接提交 bug 看看会发生什么吗?
  • 这是一个很好的问题,而且从来没有正确的答案。通常,如果您查看您的代码并且它看起来是正确的并且它没有按预期工作,您可以提交一个错误。还要查看以前的错误报告,看看是否有人已经提交了类似的内容。另一种方法是在不同的平台上进行测试,看看它的行为是否不同,是否至少有一个平台存在错误

标签: c# xamarin xamarin.forms overlay


【解决方案1】:

我找到了一个相当可接受的解决方法。
如果您在ModalActivityIndicator 中添加TapGestureRecognizer,则所有输入都将被覆盖层捕获,并且不会将任何交互转移到底层元素。

GestureRecognizers.Add(new TapGestureRecognizer());

【讨论】:

    猜你喜欢
    • 2011-06-21
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 2014-08-08
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多