Xamarin网络视图比例适合

Xamarin网络视图比例适合,xamarin,xamarin.forms,Xamarin,Xamarin.forms,有没有办法在Xamarin中设置一个WebView,以便在默认情况下缩放其内容以适应屏幕,并且仍然允许缩小/缩小 我们将使用它来显示在线文档。如果您使用的是Xamarin.Forms,看起来像这样 <?xml version="1.0" encoding="UTF-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/

有没有办法在Xamarin中设置一个WebView,以便在默认情况下缩放其内容以适应屏幕,并且仍然允许缩小/缩小


我们将使用它来显示在线文档。

如果您使用的是Xamarin.Forms,看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WebViewDemo.LoadingDemo" Title="Loading Demo">
    <ContentPage.Content>
    <StackLayout>
      <WebView x:Name="Browser"
      VerticalOptions = LayoutOptions.FillAndExpand ,
      HorizontalOptions = LayoutOptions.FillAndExpand,
    </StackLayout>
    </ContentPage.Content>
</ContentPage>


我通过自定义渲染器解决了页面缩放问题,如下所示

对于IOS

 public class CustomWebViewRenderer : WebViewRenderer
{
    protected override void OnElementChanged(VisualElementChangedEventArgs e)
    {
        base.OnElementChanged(e);

        var view = Element as CustomWebView;
        if (view == null || NativeView == null)
        {
            return;
        }
        this.ScalesPageToFit = true;
    }

}
对于Android

public class CustomWebViewRenderer : WebViewRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
    {
        base.OnElementChanged(e);

        if (Control != null)
        {
            Control.Settings.BuiltInZoomControls = true;
            Control.Settings.DisplayZoomControls = false;

            Control.Settings.LoadWithOverviewMode = true;
            Control.Settings.UseWideViewPort = true;
        }
    }
}
公共类CustomWebViewRenderer:WebViewRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
{
Control.Settings.BuiltInZoomControls=true;
Control.Settings.displayZoomControl=false;
Control.Settings.LoadWithOverviewMode=true;
Control.Settings.UseWideViewPort=true;
}
}
}

谢谢,但我要寻找的是一种让WebView适合加载到WebView的页面的方法。按照现在的方式,我必须在屏幕周围平移才能看到整个页面被加载。我读了你的问题后才明白。您是否尝试过这里推荐的cusotom渲染器?不,我希望现在有一种新的方式,但我想没有。看来这就是我要做的。谢谢