ICS渲染webview,宽度窄

时间:2012-02-21 08:04:58

标签: android webkit webview android-webview android-4.0-ice-cream-sandwich

所以,我有一个简单的应用程序,可以在webview中加载图像板。在除ICS之外的大多数Android版本中,一切看起来都很棒。首先,渲染页面不再填充父级,而是填充大约80%的视口。其次,页面上帖子的图像和文本被包装成窄列,填充视口宽度的大约45%。

我意识到这可能是4.0+如何阅读这个wakaba图像板(xhtml)的元素的一个问题,但我已经碰壁了。也许有人可以解释ICS webviews的变化,以帮助我找出问题所在?这是webkit的问题吗?

的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

的src:

public void onCreate(Bundle savedInstanceState) {    
  super.onCreate(savedInstanceState);
  wv = new WebView(this);
  WebSettings webSettings = wv.getSettings();
  webSettings.setJavaScriptEnabled(true);
  webSettings.setUseWideViewPort(true);
  webSettings.setBuiltInZoomControls(true);
  webSettings.setMinimumFontSize(48);
  webSettings.setUseWideViewPort(true);
  webSettings.setLoadWithOverviewMode(true);
  webSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);
  setContentView(R.layout.main );
  getWindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
      wv.loadUrl("http://example.com");
      wv.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
  wv.setScrollbarFadingEnabled(true);
}

被压扁的html帖子示例:

<span class="filesize">File: <a target="_blank" href="/b-/src/1329696064044.png">1329696064044.png</a> -(<em>1063442 B, 1433x1080</em>)</span> <span class="thumbnailmsg">Thumbnail displayed, click image for full size.</span><br />
<a target="_blank" href="/b-/src/1329696064044.png"> <img src="/b-/thumb/1329696064044s.jpg" width="500" height="376" alt="1063442" class="thumb" /></a>    <a name="2058"></a> 
<label><input type="checkbox" name="delete" value="2058" /> <span class="filetitle"></span>  <span class="postername">Anonymous</span> 02/19 17:01</label> <span class="reflink">
<a href="/b-/res/2058.html#i2058">No.2058</a>  </span>&nbsp; [<a href="/b-/res/2058.html">Reply</a>] <blockquote> <p>I&#39;m not saying he&#39;s real&#44; but he&#39;s real.<br />
<a href="http://www.youtube.com/watch?v=rkJZYxWAhUA&amp;feature=related" rel="nofollow">http://www.youtube.com/watch?v=rkJZYxWAhUA&amp;feature=related</a></p>  </blockquote>     <br clear="left" /><hr />

先发制人的谢谢!

1 个答案:

答案 0 :(得分:2)

我在ICS Webview上也看到了这一点,这看起来非常不可预测。

似乎导致我的窄宽度问题的原因是setUseWideViewPort(true)setUseWideViewPort(true)。所以只有其中一个,看看它是否能解决问题。