2011-08-29 54 views
6

在蜂窝中全屏显示WebView(宽度和高度均为fill_parent)时,HTML在横向加载时会瞬间闪烁。Honeycomb格局中的HTML闪烁

鉴于此代码,您应该只能看到黄色背景(WebView颜色)或蓝色背景(html正文颜色)。但是当切换到风景时,您可以看到屏幕部分填充为蓝色,并且以黄色填充。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    WebView webView = (WebView) findViewById(R.id.webview); 
    webView.setBackgroundColor(Color.YELLOW); 
    webView.loadData("<html><body style='background-color:#DDF'><p>Hello world!!!</p></body></html>", "text/html", "UTF-8"); 
} 

这就像知道容器大小之前呈现的HTML,然后它被调整大小。

这可以在仿真器和设备中以横向方向在Android Honeycomb中进行复制。

任何想法?

回答

1

我意识到你的这篇文章很老了,但是我认为图形输入可能仍然有用。我没有真正的蜂窝平板电脑来测试方向的变化,但这应该工作不管。

我对此非常困惑,但后来我发现了这个问题。 只需从“背景颜色”改变风格,只是“颜色”:

+0

这改变字体颜色,而不是背景色禁用硬件加速该活动。 –

+0

无论如何,颜色的唯一目的是显示WebView的这种奇怪的行为。 – willy

+0

如果我不得不猜测,在旋转完成后,Android很有可能会调整容器大小,因此您会在那里看到一些延迟,并看到黄色背景。再次,只是一个猜测。 –

2

尝试在清单

<activity android:name="com.sample.activity" 
android:hardwareAccelerated="false"/> 
+0

我在Android 4.3的Nexus 4上有同样的行为。两个方向,直到我完全向下滚动页面。你的建议工作出色! –