如何加载Android的资产css文件到Android的WebView网址 [英] how to load android assets css files to android WebView URL

查看:282
本文介绍了如何加载Android的资产css文件到Android的WebView网址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

其实我想加载从互联网上链接完整的网站,但我想加载CSS文件从移动(从互联网上表示不)。因为我想更快的加载页面的所有内部使用本地的CSS文件。

例如:

 <!DOCTYPE HTML>
< HTML LANG =ENGT&;
    < HEAD>
        <链接rel =stylesheet属性HREF =DIST / CSS / bootstrap.min.css/>
        <链接rel =stylesheet属性HREF =DIST / CSS / FONT-awesome.min.css/>
    < /头>
< / HTML>

所以,在这里我要加载 bootstrap.min.css 字体awesome.min.css 从移动存储只。

我的Andr​​oid code:

 保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_main);
    字符串URL =htt​​p://www.MySiteName.com/;
    鉴于=(的WebView)this.findViewById(R.id.webView);    view.getSettings()setJavaScriptEnabled(真)。 //启用JavaScript支持
    view.setWebViewClient(新WebViewClient()); //链接在同一个浏览器web视图无法打开或浏览    view.loadUrl(URL);
}


解决方案

请把CSS的资产文件夹,并通过loadDataWithBaseURL是指由相对路径CSS和HTML加载到的WebView()方法:
如果你的CSS文件名为 mycss.css

  StringBuilder的数据=新的StringBuilder();
数据.append(< HTML>< HEAD>< LINK HREF = \\mycss.css \\式= \\文/ CSS \\相对= \\样式\\/>< / HEAD>&LT ;身体GT;);
数据.append(tables.toString());
数据.append(< /身体GT;< / HTML>中);
webView.loadDataWithBaseURL(文件:/// android_asset /,数据的ToString(),text / html的,UTF-8,NULL);

Actually I want to load complete site from internet link but i want to load css files from mobile (means not from internet). Because I want to load all page faster using internal local css file.

Example :

<!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>

So Here I want to Load "bootstrap.min.css" and "font-awesome.min.css" from mobile memory only.

My Android Code :

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

解决方案

Please put CSS in assets folder, and refer to CSS by relative path, and load HTML to WebView by loadDataWithBaseURL() method: if your css file name is 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的资产css文件到Android的WebView网址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆