0
私はHTMLに問題が持っている:私はWebViewの中でカスタムフォントを使用したいが、それは、このコードを使用してフォントを変更doesnt't:フォントの変更のWebView AndroidStudio
public void loadHTLMContentText(String text, WebView view) {
String body;
String head = "<head><style type=\"text/css\">\n" +
"@font-face {\n" +
" font-family: Bamini;\n" +
" src: url(\"Bamini.ttf\")\n" +
"}\n" +
"body {\n" +
" font-family: Bamini;\n" +
" font-size: medium;\n" +
" text-align: justify;\n" +
"}\n" +
"</style></head>";
if (text != null) {
body = text;
} else return;
String htmlData = "<html>" + head + "<body style=\"font-family: bamini\">" + body + "</body></html>";
view.loadData(htmlData, "text/html; charset=utf-8", "utf-8");
view.setBackgroundColor(0x00000000);
}
TTFファイルを.javaと同じフォルダにあります。
layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
HTMLPre preparer = new HTMLPre();
View one = layoutInflater.inflate(R.layout.slide_type_a, container, false);
WebView header_1_a = (WebView) one.findViewById(R.id.header_slide_type_a_1);
preparer.loadHTLMContentHeader(getString(R.string.Historie1_header),header_1_a);
お勧めはありますか?
したがって、loadDataとloadDataWithBaseURLの違いは、アセットのパスを転送することですか?だからフォントが見つからないので、これが私の問題を解決すると思います。私は後でそれを試してみる。 – LJulz
@LJulz: 'loadData()'と 'loadDataWithBaseURL()'の違いは、あなたのHTMLに '' Bamini.ttf ''のような相対パスを使うことができるということです。次に、URLを指定できる場所でフォントを移動する必要があります。私は、あなたの目標はあなたのアプリでフォントをパッケージ化することであると仮定し、 'assets /'と 'file:/// android_asset /'を組み合わせることは 'WebView'の正しい組み合わせです。 – CommonsWare
あなたは私をたくさん助けました、ありがとう! – LJulz