android - 如何将android assets css文件加载到android WebView URL

标签 android html css 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>

所以在这里我只想从移动内存加载“bootstrap.min.css”和“font-awesome.min.css”。

我的安卓代码:

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);
}

最佳答案

请将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);

谢谢

关于android - 如何将android assets css文件加载到android WebView URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31516518/

相关文章:

android - 如何解决无效的 keystore 格式?

javascript - 在 CSS 和 HTML5 中对齐正方形内的四个圆圈

html - 适合 1 行的订阅栏以减小屏幕尺寸

html - CSS 不适用于通过内部链接访问 id 标签的页面

jquery - 如何通过 jQuery 强制应用 CSS 过渡效果/动画

java - 在谷歌地图android中查找两个坐标之间的道路距离

android - Facebook lide 滑出式菜单(不使用那个库)

android - Gmail API 限制

javascript - 使用 javascript 或 jquery 更改多个 div 的 z-index

css - 使用纯 css 删除 'disabled' attr