作者:蕊儿巧乐-滋 | 来源:互联网 | 2023-01-29 16:35
我正在尝试使用Xamarin表单在Web视图中加载本地HTML页面。我可以在开发文档中使用基本示例,尽管可以加载URL,但无法加载自己的HTML页面。这仅需要通过Android完成,因此无需担心IOS和Windows。
Xaml:
后面的代码:
public partial class javscriptExample : ContentPage
{
public interface IBaseUrl { string Get(); }
public javscriptExample()
{
InitializeComponent();
var source = new HtmlWebViewSource();
source.BaseUrl = DependencyService.Get().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”上没有突出显示语法。因此,我不确定它是否可以“看到”它。
有任何想法吗?
1> Kona Suresh..:
我也遇到同样的问题,但是我通过以下方式解决了
使用“ UrlWebViewSource”代替“ HtmlWebViewSource”
var urlSource = new UrlWebViewSource();
string baseUrl = DependencyService.Get().GetBaseUrl();
string filePathUrl = Path.Combine(baseUrl, "imprint.html");
urlSource.Url = filePathUrl;
WebBrowser.Source = urlSource;