我正在尝试使用 Xamarin 表单在 Web 视图中加载本地 HTML 页面。
我正在使用开发文档中的基本示例,尽管我可以获取要加载的 URL,但无法加载我自己的 HTML 页面。只需要通过 Android 即可完成此操作,因此无需担心 IOS 和 Windows。
Xaml:
<WebView
x:Name="webviewjava"></WebView>
背后的代码:
public partial class javscriptExample : ContentPage
{
public interface IBaseUrl { string Get(); }
public javscriptExample()
{
InitializeComponent();
var source = new HtmlWebViewSource();
source.BaseUrl = DependencyService.Get<IBaseUrl>().Get();
webviewjava.Source = source;
}
}
平台特定文件(LocalFile.cs):
请注意,这已被设置为 Android 资产。
[assembly: Dependency(typeof(LocalFiles))]
namespace maptesting.Droid
{
public class LocalFiles: IBaseUrl
{
public string Get()
{
return "file:///android_asset/";
}
}
}
在资产文件夹下有一个“TestWebPage.html”,也设置为 Android 资产。
虽然我不知道问题是什么,但我已经将其进行了调试,并且基本 url 返回为空白。需要明确的是,我没有找到未找到的文件,屏幕只是空白。
另外,我不确定这是否会产生影响。 LocalFiles.cs 文件中的“IBaseUrl”没有语法突出显示。所以我不确定它是否能“看到”它。
有任何想法吗?
我也遇到同样的问题,但是我通过以下方式解决了
使用“UrlWebViewSource”而不是“HtmlWebViewSource”
var urlSource = new UrlWebViewSource();
string baseUrl = DependencyService.Get<IWebViewBaseUrl>().GetBaseUrl();
string filePathUrl = Path.Combine(baseUrl, "imprint.html");
urlSource.Url = filePathUrl;
WebBrowser.Source = urlSource;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)