gpt4 book ai didi

c# - 自定义 WebView 在模拟器中工作但不在物理设备中工作。赛马林

转载 作者:行者123 更新时间:2023-12-05 05:36:53 26 4
gpt4 key购买 nike

我在 Droid 项目中实现了一个自定义 Web View 渲染器。问题是,自定义 WebView 在模拟器中工作,但在物理设备中不工作。

在物理设备中,WebView 仅在第一次加载而不是在第二次加载。即使android版本相同,物理设备和模拟器也有不同的结果。

  public class MyWebViewRenderer : WebViewRenderer
{
public MyWebViewRenderer(Context context) : base(context) { }
static MyWebView _xwebView = null;
WebView _webView;

class ExtendedWebViewClient : Android.Webkit.WebViewClient
{
public override async void OnPageFinished(WebView view, string url)
{
if (_xwebView != null)
{
int i = 10;
while (view.ContentHeight == 0 && i-- > 0)
await System.Threading.Tasks.Task.Delay(10);
_xwebView.HeightRequest = view.ContentHeight;
}
base.OnPageFinished(view, url);

}
}

protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.WebView> e)
{
base.OnElementChanged(e);
_xwebView = e.NewElement as MyWebView;
_webView = Control;

if (e.OldElement == null)
{
_webView.SetWebViewClient(new ExtendedWebViewClient());

}
}

}

感谢任何帮助。谢谢!

最佳答案

我又在小米6X安卓9上测试过了。无论我进入 webview 多少次,它仍然可以正常工作。

所以我建议你下载android studio,当你第二次进入webview时检查日志。

您也可以尝试在具有不同安卓版本的不同设备上进行测试。

关于c# - 自定义 WebView 在模拟器中工作但不在物理设备中工作。赛马林,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73229657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com