我正在尝试使用此代码更改webview的文本颜色
String message ="<font color='white'>"+"<u>"+
"text in white"+ "<br>" +
"<font color='cyan'>"+"<font size='2'>"+
" text in blue color "+"</font>";
webview.loadData(message, "text/html", "utf8");
但我有一些HTML页面。存储在我的SD卡中然后我如何更改文本颜色..
我用
webViewRead.loadUrl(url);
url是我文件的路径。
答案 0 :(得分:10)
您必须像这样给出该文件的路径。
String extStorageDirectory = Environment.getExternalStorageDirectory()
.toString() + "/folder_name";
File directory = new File(extStorageDirectory);
File fileInDirectory = new File(directory,file_name.html);
//Read text from file
StringBuilder html_text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(fileInDirectory));
String line;
while ((line = br.readLine()) != null) {
html_text.append(line);
html_text.append('\n');
}
}
catch (IOException e) {
//You'll need to add proper error handling here
}
然后使用此html代码进行编辑
String message ="<font color='white'>"+"<u>"+"text in white"+ "<br>" +"<font color='cyan'>"+"<font size='2'>"+" text in blue color "+"</font>";
webview.loadData(message, "text/html", "utf8");
答案 1 :(得分:2)
htmlDetail = dbValues.getContent(3);
tvDescription3.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
String finalHtml = "<html><head>"
+ "<style type=\"text/css\">li{color: #00f} span {color: #000}"
+ "</style></head>"
+ "<body>"
+ htmlDetail
+ "</body></html>";
tvDescription3.loadData(finalHtml, "text/html; charset=UTF-8", null);
答案 2 :(得分:1)
将您的文件路径设为
String htmlPath = "file:///mnt/sdcard/test/11.html";
String baseUrl = "file:///mnt/sdcard/test/";
webView.loadDataWithBaseURL(baseUrl, message, "text/html", "utf-8", null);
webView.loadUrl(htmlPath);
答案 3 :(得分:0)
要更改WebView的背景颜色,有一种标准方法:
mWebView.setBackgroundColor(Color.Black);
要更改WebView的文本字体颜色,没有标准方法: 您可以通过html代码更改字体,也可以执行以下操作:
htmlData="<font color='black'>" + htmlData + "</font>";
mWebView.loadDataWithBaseURL(null, htmlData, "text/html", "UTF-8", null);