Xamarin.Forms - 如果 webView 包含在 Android 上打开的模式或菜单,有没有办法禁用拉刷新?

Posted

技术标签:

【中文标题】Xamarin.Forms - 如果 webView 包含在 Android 上打开的模式或菜单,有没有办法禁用拉刷新?【英文标题】:Xamarin.Forms - Is there a way to disable Pull to refresh if webView contains opened Modal or Menu on Android? 【发布时间】:2021-12-06 10:27:15 【问题描述】:

我最近在我的应用程序中实现了 xamarin 的 RefreshView 而不是 WebView 控件以产生拉动刷新操作,但我不涉及在我打开固定元素左侧菜单或 jQuery 时禁用刷新操作模态的。 modal 和 menu 都已经在查看的网站中实现了。

我已经进行了一些测试,ios 应用程序中的 WkWebView 似乎可以使用此功能,并且大多数知名浏览器也包含此功能。我只在 android 应用中遇到此问题。

我也尝试在网站的正文标签中添加一些overscroll-behavarior,但似乎该行为仅用于网络上的复习实施。

有人知道吗? ?我会为任何事情感到高兴。

<RefreshView
      x:Name="RefreshLayout"
      Command="Binding RefreshCommand, Source=x:Reference WebViewPageName"
      IsRefreshing="Binding IsRefreshing, Source=x:Reference WebViewPageName"
      RefreshColor="StaticResource Color">

      <extensions:ScrolledWebView 
           x:Name="webView"
           VerticalOptions="FillAndExpand"
           HorizontalOptions="FillAndExpand"/>
            
</RefreshView>

【问题讨论】:

【参考方案1】:

为了防止 RefreshView 响应滑动手势,当您只希望 Web 内容接收滑动手势时,set the IsEnabled property 到 False

【讨论】:

感谢您的评论。我正在考虑这个,它只需要处理打开/关闭事件。我只是好奇是否有其他解决方案。 如果您指的是另一种防止 RefreshView 窃取滑动手势的方法,不,Xamarin 中没有其他解决方案。【参考方案2】:

您可以将 IsEnabled 属性与一个标志绑定,该标志值基于您应用中菜单或模式的状态。

【讨论】:

以上是关于Xamarin.Forms - 如果 webView 包含在 Android 上打开的模式或菜单,有没有办法禁用拉刷新?的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin。 WebView Progres

如果调用方未使用 Xamarin.Forms,Xamarin 依赖项服务能否正常工作?

Xamarin.Forms之Effects的使用

(持续更新)Xamarin.Forms之常见的问题

Xamarin.Forms - 摇篮 FAB

如何在 xamarin.forms 中获取状态栏高度?