我正在创建一个webview应用。我在assets文件夹中添加了字体。我正在使用css代码使其工作。但该字体未加载到webview中。我的webview应用程序中未显示Unicode块。链接:http://en.wikipedia.org/wiki/Lisu_(Unicode_block) 以下是我现在使用的代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
String html = "<html><head><style>@font-face {@font-family: 'Conv_LISU'; src: url('file:///android_asset/font/LISU.ttf');} body, button, input, label, select, td, tr, textarea,li,ul,span,div,table,h1,h2,h3,h4{ font-family:Conv_LISU;}</style></head>";
WebView webView = (WebView)findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// Handle the error
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.setInitialScale(1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
webView.loadData(html, "text/html", "utf-8");
webView.loadUrl("http://google.com");
}
}
答案 0 :(得分:0)
加载另一个URL会删除您首先放入Web视图的HTML内容,从而删除CSS样式。
我认为你能够做到的唯一方法就是在加载视图后使用javascript注入它view.loadUrl("javascript:script to apply css here")
。
或者您可以手动下载所请求的HTML页面,注入CSS代码然后将其提供给webview,它也将加载原始页面的资产:)