【问题标题】:Customized WebVIew In Android [duplicate]Android中的自定义WebVIew [重复]
【发布时间】:2013-10-01 09:05:46
【问题描述】:

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

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

【问题讨论】:

标签: android android-webview


【解决方案1】:
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);

简单的方法

将 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" />

对于自定义字体,您可以像这样在css 中使用@font-face

@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");

【讨论】:

  • 先生,您能根据我的代码告诉我吗
  • @user2826052 更新了我的答案
  • 我这样做了,但它仍然显示框
  • 你为马拉地语 ttf 制作了字体吗?
  • 是的 @font-face { font-family: "akshar"; src: url('akshar.TTF'); } .phon, .unicode { 显示:内联;字体系列:'akshar',Verdana,无衬线;字体大小:14pt;字体粗细:500;字体样式:正常;颜色:黑色; } 告诉我是这样吗??
【解决方案2】:

你可以试试这个

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

【讨论】:

  • 我应该把我的 .ttf 文件放在哪里
  • 你读过这个问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-12
  • 2011-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多