Xamarin网络视图比例适合
有没有办法在Xamarin中设置一个WebView,以便在默认情况下缩放其内容以适应屏幕,并且仍然允许缩小/缩小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.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渲染器?不,我希望现在有一种新的方式,但我想没有。看来这就是我要做的。谢谢