我們平常在項目中有可能會遇到網頁的內容是通過json數據傳遞到app上面用WebView來顯示的,這時候我們通常都要調整內容的總寬度不超過父容器的寬度,這樣子用戶可以不用左右滑動就可以看到全部的內容.但是當我遇到這個問題的時候,我是想方設法想達到這個目的,用過WebView里面的很多方法,包括:
1.第一種網上的方法(ps:失敗)
WebSettings settings = webView.getSettings();
settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
LayoutAlgorithm是一個枚舉用來控制頁面的布局,有三個類型:
1.NARROW_COLUMNS:可能的話使所有列的寬度不超過屏幕寬度
2.NORMAL:正常顯示不做任何渲染
3.SINGLE_COLUMN:把所有內容放大webview等寬的一列中
用SINGLE_COLUMN類型可以設置頁面居中顯示,頁面可以放大縮小,但這種方法不怎么好,有時候會讓你的頁面布局走樣而且我測了一下,只能顯示中間那一塊,超出屏幕的部分都不能顯示。
2.第二種(失敗)
//設置加載進來的頁面自適應手機屏幕
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
其他的一些方法我也試過了,但是都沒達到預期的效果
后來我自己想到了可不可以通過css或者js來控制內容的顯示效果,於是使用了css來實現我需要的功能:
3.第三種(成功)
body{ word-wrap:break-word; font-family:Arial; }
通過css還可以改變文字的顏色等外觀效果,比如:
*{
color:#FF0000; }
所以這里寫個簡單的博客給coder,如果其他方法不行的話,可以試試博主這個方法哦
原文來自:http://www.voidcn.com/blog/u011692041/article/p-5762019.html