字体样式不工作时设置的自定义字体的WebView [英] font styles not working when set custom font for webview

查看:247
本文介绍了字体样式不工作时设置的自定义字体的WebView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Main.java

Main.java:

Main instanceMain = this;
    String Dataz = FN.getHtmlData(instanceMain,"BMitra",20,(getResources().getString(R.string.matn2)));
    btne.loadDataWithBaseURL("file:///android_asset/", Dataz, "text/html", "utf-8", null);

FN.java:

FN.java:

public static String getHtmlData(Context context,String fontname,Integer fontsize, String data){
    String head = "<head><style type=\"text/css\">@font-face {font-family: 'MYFNT';src: url('"+fontname+".ttf');} body {text-align:justify;font-family: 'MYFNT';color: Black;}</style></head>";
    String htmlData= "<html>"+head+"<body dir=\"rtl\">"+data+"</body></html>" ;
    return htmlData;
 }

strings.xml中:

strings.xml:

<string name="matn2">
    <![CDATA[
    <html><body><b>سلام</b> non bold text . <b>english bold</b></body></html>
    ]]>
</string>

粗体标签不工作,输出:سلام英语大胆。非粗体文字

but bold tag not working and output is : سلام english bold . non bold text

通过我找到了办法<一href="http://$c$c.google.com/p/android/issues/detail?can=1&q=Shared$p$pferences&colspec=ID%20Type%20Version%20Security%20Status%20Owner%20Summary&id=30520">some报告问题

在另一种方式:

Main.java

Main.java :

Main instanceMain = this;
    String Dataz = FN.getHtmlData(instanceMain,getResources().getString(R.string.matn2)));
    btne.loadDataWithBaseURL("file:///android_asset/", Dataz, "text/html", "utf-8", null);

FN.java:

FN.java:

public static String getHtmlData(Context paramContext, String paramString)
  {
    return "<!DOCTYPE HTML><html lang=\"fa-ir\" dir=\"rtl\"><head>" + "<link rel=\"stylesheet\" type=\"text/css\" href=\"justified_textview.css\" />" + "</head>" + "    <body>" + paramString + "</body></html>";
  }

justified_textview.css(在入资产的文件夹):

justified_textview.css (in assest folder) :

/*@font-face {
font-family:"MyFont";
src:url('file:///android_asset/BMITRA.TTF');
}

@font-face {
font-family:"MyFont";
src:url('file:///android_asset/BMITRABD.TTF');
font-weight: bold;
}*/

@font-face {
font-family: 'Conv_BMITRA';
src: url('file:///android_asset/BMITRA.ttf');
font-weight: normal;
font-style: normal;
}

@font-face {
font-family: 'Conv_BMITRA';
src: url('file:///android_asset/BMITRABD.ttf');
font-weight: bold;
font-style: normal;
}


body {
font-family:'Conv_BMITRA';
text-align:justify;
line-height: 20pt;  
color: Black;      
}

和MATN2(strings.xml中):

and matn2(strings.xml) :

<string name="matn">
    <![CDATA[
    م ولادت توی وب با سی اس اس
    normal text
    <b>ولایت بولد م bold text</b>
    ]]>
    </string>

和现在它在Android 2.3.3或2.3.5,但工作的不工作在Android 4.0.x的

and now its work on android 2.3.3 or 2.3.5 but not working on android 4.0.x

推荐答案

这是因为web视图,而不是Android操作系统的进步不可能的,坏了。如果您设置自定义字体web视图,在某些设备和Android操作系统它的工作原理以及在其他一些没有,很遗憾。

It's not possible, because of Webview rather than Android OS progress, is broken. If you set a custom font for Webview, in some device and Android OS it works and in some others not, unfortunately.

这篇关于字体样式不工作时设置的自定义字体的WebView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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