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 上打开的模式或菜单,有没有办法禁用拉刷新?的主要内容,如果未能解决你的问题,请参考以下文章