自定义WebVIew在Android中

时间:2013-10-01 09:05:46

标签: android android-webview

我想将网络视图的字体设置为marathi。谁能告诉我怎么做?这是我的代码:

setContentView(R.layout.web);
web=(WebView)findViewById(R.id.webView1);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("file:///android_asset/welcome.html");

2 个答案:

答案 0 :(得分:0)

htmlData = "<link rel='stylesheet' type='text/css' href='style.css'/>" + htmlData;

// lets assume we have /assets/style.css file

web.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "UTF-8", null);

OR

简单的方法

将html和css放在 / assets / 文件夹中,然后加载html文件,如下所示:

web=(WebView)findViewById(R.id.webView1);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("file:///android_asset/yourHtml.html");

然后在你的HTML中你可以用通常的方式引用你的CSS

<link rel="stylesheet" type="text/css" href="style.css" />

对于自定义字体,您可以使用@font-face中的css

@font-face {
    font-family: 'akshar';
    src: url('fonts/akshar.ttf');
}

body {font-family: 'akshar';}

或者试试这个

head="<head><style>@font-face {font-family: 'akshar';src: url('file:///android_asset/fonts/akshar.TTF');}body {font-family: 'akshar';}</style></head>";
                HtmlString = "<html>"+head+"<body>"+content+"</body></html>";  
MyWebView.loadData(HtmlString, "contentType=text/html", "charset=UTF-8");

答案 1 :(得分:-2)

  

你可以尝试一下

Webview wv = new webview(context);
WebSettings settings = wv.getSettings();
settings.setJavaScriptEnabled(true);
settings.setUserAgentString(Locale.getDefault().getLanguage());