Irs*_*han 3 html css android webview android-webview
实际上我想从互联网链接加载完整的网站,但我想从移动设备(意味着不是从互联网)加载CSS文件.因为我想使用内部本地css文件加载所有页面.
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="dist/css/font-awesome.min.css" />
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
所以在这里我只想从移动存储器加载" bootstrap.min.css "和" font-awesome.min.css ".
我的Android代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String url = "http://www.MySiteName.com/";
view = (WebView) this.findViewById(R.id.webView);
view.getSettings().setJavaScriptEnabled(true); // Enable JavaScript Support
view.setWebViewClient(new WebViewClient()); // Links open or Navigate in same webView not in Browser
view.loadUrl(url);
}
Run Code Online (Sandbox Code Playgroud)
请将CSS放在assets文件夹中,并通过相对路径引用CSS,并通过loadDataWithBaseURL()方法将HTML加载到WebView :如果您的css文件名是mycss.css
StringBuilder data = new StringBuilder();
data .append("<HTML><HEAD><LINK href=\"mycss.css\" type=\"text/css\" rel=\"stylesheet\"/></HEAD><body>");
data .append(tables.toString());
data .append("</body></HTML>");
webView.loadDataWithBaseURL("file:///android_asset/", data .toString(), "text/html", "utf-8", null);
Run Code Online (Sandbox Code Playgroud)
谢谢
因为另外两个答案只是复制意大利面而我碰巧有同样的问题,我会帮助你解决我的问题:
您需要在html文件的head部分指定文件路径.注意href之后的部分
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="file:///android_asset/bootstrap.min.css" />
<link rel="stylesheet" href="file:///android_asset/font-awesome.min.css" />
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
我只是无法理解为什么其他海报只是复制和粘贴,甚至没有读到你试图告诉他们的内容.
我希望这有帮助.
请注意,您的资源文件夹的名称可以不同.
| 归档时间: |
|
| 查看次数: |
8201 次 |
| 最近记录: |