2012-09-13 19 views
5

Main.java için belirlenen özel yazı tipi çalışmıyor:yazı stilleri webview

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:

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:

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

ama cesur etiket çalışmıyor ve çıktı: سلام ingilizce kalın.

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:

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

arada olmayan kalın metin

ben başka bir şekilde some report issue


bulundu justifie (Assest klasöründe) d_textview.css:

/*@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;  
} 

ve matn2 (strings.xml):

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

ve şimdi android 2.3.3 veya 2.3.5 ama üzerindeki çalışmalar üzerinde çalışmıyor android 4.0.x

+0

CSS ile stil kullanmayı denediniz mi? – Flo

+1

@Flo yes.and çalışmaz.Daha sonra, .boldClass {text-weight: bold} yazarken, css'de , aapt.exe çalışmayı durdurdu ve kilitlendi. ve hatta şunu yazınız: b {text-weight: bold} css'de, tekrar çalışmıyor! –

cevap

5

Bu, Android OS ilerlemesi yerine Web görünümünden dolayı bozuk değil. Webview için özel bir yazı tipi ayarlarsanız, bazı cihazlarda ve Android işletim sistemlerinde çalışır ve bazılarında maalesef olmaz.

2

Ben görüntüleniyordu gerçekten büyük bir sayfada aynı sorunla karşılaştım. Etkinliği web görünümünde manifestoda android:hardwareAccelerated="false" olarak ayarlamayı deneyin.

+1

Web görünümünde neler var? biraz daha fazla açıklayabilir misin? –

+1

Özellikle web görünümü donanım hızlandırılmış çizim tarafından nasıl etkilendiğinden emin değilim, ancak donanım hızlandırma ile desteklenmeyen bazı işlevler vardır. İşte daha fazla bilgi: [Android Donanım İvmesi] (http://android-developers.blogspot.com/2011/03/android-30-hardware-acceleration.html). Desteklenmeyen veya farklı davranıldığı bilinen bazı işlevler, ilgili metin çizimidir. – Chris