2017-04-21 5 views
0

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"); 
       } 
     } 

enter image description here

+0

http://stackoverflow.com/questions/19835754/how-to-make-text-fit-to-screen-text-wrap-in-webview-with-kitkatこれを試してみてください –

+0

(getSettingsを試してみてください) .setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); – Tasneem

+0

返事をありがとう。残念ながら両方のソリューション私は試してみましたが、助けていません – Ranjit

答えて

0

使用この:

WideViewportZoom outviewPortが定義されていない場合。

settings.setUseWideViewPort(true); 

settings.setLoadWithOverviewMode(true); 

settings.setLayoutAlgorithm(LayoutAlgorithm.TEXT_AUTOSIZING); 
+0

残念なことに助けにならない – Ranjit

関連する問題