如何解决Xamarin Forms Android WebViewRenderer 里面 ScrollView 截断内容
我自定义了 iOS 和 Android WebVieWrenderer,其中我将 WebView 的 HeightRequest 设置为其内容的大小以防止 WebView 滚动。
iOS 渲染器:
public override void DidFinishNavigation( WKWebView webView,WKNavigation navigation )
{
wv.HeightRequest = (double)webView.ScrollView.ContentSize.Height;
}
Android 渲染器:
public override async void OnPageFinished( WebView view,string url )
{
if (custWebView != null)
{
int i = 10;
while (view.ContentHeight == 0 && i-- > 0)
await System.Threading.Tasks.Task.Delay( 100 );
custWebView.HeightRequest = view.ContentHeight;
}
}
<ScrollView>
<StackLayout>
<Label Text="Label 1" />
<Label Text="Label 2"/>
<ctrl:CustomWebView x:Name="webView">
<WebView.source>
<HtmlWebViewSource Html="{Binding Email.html}" />
</WebView.source>
</ctrl:CustomWebView>
</StackLayout>
</ScrollView>
在 iOS 中它完美运行,包括标签在内的整个屏幕滚动到 WebView 内容的结尾。但是在 Android 上它只将内容渲染到屏幕大小,其余的只是空白区域。 WebView 高度正确,因为我可以滚动,但没有内容通过屏幕高度。
如果我将 WebView 移到 ScrollView 之外,那么它也适用于 Android,但我的目标是固定 WebView 高度,以便我可以在 WebView 上方拥有其他控件并且整个页面都可以滚动。
任何想法为什么内容在 Android 上被切断? 提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。