使用自定义CSS在WebView中呈现HTML

我的应用程序正在使用JSoup下载留言板页面的HTML(在这种情况下,它是一个包含给定线程帖子的页面)。我想使用此HTML,剔除不需要的项目,并应用自定义CSS对其进行样式设置使其在WebView中“可移动”。


我应该在处理样式时将样式注入HTML中(因为无论如何都会处理样式),还是有一种很好的方法将CSS文件添加到我的应用程序资产中并简单地引用它。我认为后者将是理想的,但不确定如何去做。


我在WebView的loadDataWithBaseURL中看到了可以引用本地资产的提示,但不确定如何利用它。


Helenr
浏览 724回答 3
3回答

紫衣仙女

您可以使用WebView.loadDataWithBaseURLhtmlData = "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + htmlData;// lets assume we have /assets/style.css filewebView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "UTF-8", null);而且只有在此之后,WebView才能够在assets目录中查找和使用css文件。ps而且,是的,如果您从资产文件夹中加载html文件,则无需指定基本网址。

慕勒3428872

这是解决方案将您的html和css放在/ assets /文件夹中,然后像这样加载html文件:&nbsp; &nbsp; WebView wv = new WebView(this);&nbsp; &nbsp; wv.loadUrl("file:///android_asset/yourHtml.html");然后在您的HTML中,您可以按通常的方式引用您的CSS<link rel="stylesheet" type="text/css" href="main.css" />
打开App,查看更多内容
随时随地看视频慕课网APP