我想展示一些引用一些资源(样式表,脚本,图像等)的XHTML文档。这些资源是本地资源,但它们不存在于文件系统中 - 而是由我的应用程序生成。
使用Android.Webkit.WebView
和Android.Webkit.WebViewClient
,我可以使用以下内容拦截请求并提供完美的资源:
internal class MyWebViewClient : WebViewClient
{
public override WebResourceResponse ShouldInterceptRequest (WebView view, string url)
{
/* logic to create a resource stream for the requested url */
return new WebResourceResponse (mimeType, encoding, generatedStream);
}
}
我可以使用Xamarin.Forms.WebView
及其相关类来实现类似的功能吗?如果是这样,怎么样?我没有在API文档中注意到任何看起来像是提供等效行为的方法。
答案 0 :(得分:3)
Xamarin.Forms WebView 控件目前非常基础。 class members表明您不会能够实现您想要做的事情。
您可以加载 HTML 资源等here,这对于确定如何引用本地文件非常有用,如果您确定并沿着该路线前进。
请注意, Android 上的 Xamarin.Forms v1.2.2.6243 来源属性设置错误网址即可。例如,如果您导航到 www.yahoo.com 并在该网站上点击几下,您将看到一些查询字符串参数等。但是,在 Android 上这总是如此返回来源属性 www.yahoo.com 。 Xamarin 为此创建了一个临时修复程序,但是您必须包含并实现自己的自定义渲染器以克服此问题。