我正面臨着與其他開發人員在WebView中垂直換行的相同問題。我已經檢查並嘗試了一些提示here。webview的自動文本換行
下面的圖像只是一個長文本(html)的webview垂直顯示。我想用多行的方式來展示它。
我也得到了一些線索,我們可以通過在webview中使用一些javascript來解決這個問題,但仍然無法做到。我仍然不知道在哪裏編寫javascript代碼以及如何將它推送到html/webview,以便能夠以適當的多行格式顯示文本。
該問題已多次提出,但仍然沒有適當的答案,這不幸的是。
我當前的代碼是象下面這樣:
getSettings().setJavaScriptEnabled(true);
getSettings().setDomStorageEnabled(true); // I think you will need this one
getSettings().setPluginState(PluginState.ON);
getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);// no need I think
getSettings().setLoadWithOverviewMode(true);
getSettings().setUseWideViewPort(true);
getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
和填充在網頁視圖類似的數據(這裏descView是的WebView):
List<Element> elements = htmlObj.getElements();
if(elements.size() > 0 && elements.get(0).getHtml() != null && !elements.get(0).getHtml().equals("")) {
String htmlWrapper = null;
if(ApplicationContext.getInstance().getApplication() == null) {
htmlWrapper = CoreSettings.HTML_WRAPPER;
} else {
Application application = ApplicationContext.getInstance().getApplication();
htmlWrapper = application.getGlobalStyle().getHtmlWrapper();
}
if(htmlWrapper != null) {
descView.loadData(htmlWrapper.replace("{{content}}",WebUtils.linkifyHtml( elements.get(0).getHtml())), "text/html; charset=utf-8", "UTF-8");
} else {
descView.loadData(WebUtils.linkifyHtml(elements.get(0).getHtml()).toString(), "text/html; charset=utf-8", "UTF-8");
}
}
試試這個http://stackoverflow.com/questions/19835754/how-to-make-text-fit-to-screen-text-wrap-in-webview-with-kitkat –
嘗試的getSettings() .setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); – Tasneem
感謝您的回覆。不幸的是,這兩種解決方案我嘗試過,但沒有幫助 – Ranjit