WebViewでテキストを縦方向にラッピングするために、他の開発者と同じ問題に直面しています。私はすでにチェックして、hereと与えられたヒントを試しました。webview用の自動テキストラップ
下の画像は、縦に表示されている長いテキスト(html)のウェブビューだけです。私はそれを水平に複数の行に表示したい。
私は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);
などのWebView何かのデータを取り込む(ここ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