0

我正在创建一个 webview 应用程序。我在资产文件夹中添加了字体。我正在使用 css 代码使其工作。但是字体没有加载到 webview 中。Unicode 块未显示在我的 webview 应用程序中。链接: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");


}

}

4

1 回答 1

0

加载另一个 URL 会删除您第一次放入 Web 视图的 HTML 内容,从而删除 CSS 样式。

我认为您可能能够做到的唯一方法是 view.loadUrl("javascript:script to apply css here")在加载视图后使用 javascript 注入它。

或者您可以手动下载请求的 HTML 页面,注入 CSS 代码,然后将其输入 web 视图,该视图也将加载原始页面的资产:)

于 2013-10-11T02:22:18.503 回答