2011-04-27 64 views
1

好了,所以我做的是以下几点:的Android使用本地CSS显示HTML字符串

我有一个HTML字符串我表现出这样的的WebView:

webView.loadDataWithBaseURL("",htmlText, "text/html","utf-8", null);

我也有一个本地css文件,我想要应用于该web浏览器中的HTML字符串。

我看了看这个了一段时间,但没有解决办法似乎工作。

应该有一种方式来保存资产文件夹中的CSS文件,并从somwhere调用它,但我不有一个想法如何。

和建议?

回答

2

你不能写在资产文件夹东西。

既然你有HTML和CSS的,我想你可以插入CSS文本头标记一些怎么样这样

int pos = htmlText.toLowerCase().indexOf("</head>"); 
if(pos != -1) { 
    String newHtmlText = htmlText.substring(0, pos) + String.format("<style>%s</style>", cssText) + htmlText.substring(pos + "</head>".length()); 
    webView.loadDataWithBaseURL("",newHtmlText , "text/html","utf-8", null); 
} 

免责声明:未经测试的:))

+0

,因为我没有所有的标签,我增加他们作为我的回答如下。但你是对的,这是怎么做到的。谢谢。 – GuyFawkes 2011-04-28 07:24:27

0

因为我没有有一个也没有,也没有标签我只是增加了他们,并把在风格和我的HTML文本在这样的:

String htmlWithCss = "<html><head><style type=\"text/css\">" +css +"</style></head><body>" + htmlText +"</body></html>";

,并显示它这样的web视图:

webView.loadDataWithBaseURL("", htmlWithCss, "text/html","utf-8", null);

这只是为了说明如何做到这一点,当你周围有空白的HTML文本格式化标签wothout。我会接受J.S.尽管如此,泰勒的回答显示了我基本上该做什么。