Android:htmlをロードし、幅が広く、ソリューションに適しています.


Android:htmlをロードし、幅が広く、ソリューションに適しています.
まず変更するにはhtmlを変更しなければならないので、私たちは直接コードにhtmlを挿入して、彼が自動的に携帯電話の画面の幅を設定します.
String css = "";
        String html = "" +
                ""+
                css+""+
                ""+html+"";
               

そしてWebViewを設定すればいいです
wvContent.loadDataWithBaseURL(null,html, "text/html","utf-8",null);
//       
 WebSettings webSettings = wvContent.getSettings();
 webSettings.setJavaScriptEnabled(true);//    js
 webSettings.setUseWideViewPort(true);
 webSettings.setLoadWithOverviewMode(true);
        webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);

ただこのような設定を薄めるだけでhtmlの大部分を解決することができて、幅が広すぎてスライドバーの問題が現れて、しかし今日1つの情況に出会って、私に伝わるhtmlコードはtable表で、htmlは直接table表の幅を書いて死んで、このように設定しても適応できなくて、そのためjsを使って対応するtableラベルを手に入れて、手動で幅を修正する必要があります親レイアウトの幅に合わせて、幅を100%に変更します.完全なコードは次のとおりです.
String css = "";
        //      html  table width       js  
        String js = "
" + "var tables = document.getElementsByTagName('table');
" + " for(var i=0;i<tables.length;i++)
" + " {
" + " tables[i].style.width = 100+\"%\";
" + " }
" + "
"; String html = "" + ""+ css+""+ ""+html+""+js+""; wvContent.loadDataWithBaseURL(null,html, "text/html","utf-8",null); // WebSettings webSettings = wvContent.getSettings(); webSettings.setJavaScriptEnabled(true);// js webSettings.setUseWideViewPort(true); webSettings.setLoadWithOverviewMode(true); webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);