在最近的項目開發中,使用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顯示衝突,還不得而知,也但願有牛人能給予解答。