android html 與webview屬性從衝突

在最近的項目開發中,使用webview加載html頁面,這樣能夠節省大量頁面開發的時間,同時也可加快項目進度。css

咱們需求是須要顯示商品評論,頁面設計以下:html

 

調用android代碼,對於webview的設置以下:android

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
webView.getSettings().setDefaultTextEncodingName("UTF-8");

在展現數據的時候,出現問題。實際效果以下:ios

 

這裏物流速度和產品質量沒法顯示.web

html的關鍵代碼以下:json

switch (jsonForCreat.DATA[i].QUALITYLEVEL){
                            case '1':
                                $("#q"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 515px");
                                break;
                            case '2':
                                $("#q"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 535px");
                                break;
                            case '3':
                                $("#q"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 555px");
                                break;
                            case '4':
                                $("#q"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 575px");
                                break;
                            case '5':
                                $("#q"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 595px");
                                break;
                            default :
                                $("#q"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 595px");
                                break;
                        }
                        switch (jsonForCreat.DATA[i].SPEEDLEVEL){
                            case '1':
                                $("#s"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 515px");
                                break;
                            case '2':
                                $("#s"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 535px");
                                break;
                            case '3':
                                $("#s"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 555px");
                                break;
                            case '4':
                                $("#s"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 575px");
                                break;
                            case '5':
                                $("#s"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 595px");
                                break;
                            default :
                                $("#s"+jsonForCreat.DATA[i].KEY_ID).css("background-position", "0px 595px");
                                break;
                        }

 

在仔細對比全部的數據格式無誤,對比ios,發現:ui

一樣的html頁面,一樣的數據,這個頁面在ios上顯示正常,在android上就是沒法顯示物流速度和產品質量的評價星數。spa

最後在比對webview設置的時候,將webview屬性 設計

webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

註釋掉之後,發現顯示正常了,3d

 

查詢資料得知:

SINGLE_COLUMN:把全部內容放到WebView組件等寬的一列中。

這個屬性至於爲什麼與html顯示衝突,還不得而知,也但願有牛人能給予解答。

相關文章
相關標籤/搜索