2013-01-22 37 views
13

在我的项目中有两个WebViews,我正在切换这些WebViews,以便在加载我的url时获得平滑的动画。当我使用Webview.loadUrl()方法时,它在所有设备中都能正常工作。但是当我用loadDataWithBaseUrl()使用相同的代码时,它在4.0.3中不起作用,但它在2.2,2.3,4.0.4,4.1设备中工作正常。WebView loadDataWithBaseUrl - Android 4.0.3中的奇怪问题

这是从WebKit跳过的错误吗? 我尝试了很多方法来完成这个任务,但没有出路。我真的很沮丧,并与此混乱。

如果有人能告诉我一个正确的方法来完成这件事,这将是非常有帮助。

+0

你能否具体谈谈它不工作可以用动画。它只是没有加载任何时期?它会抛出某种错误吗?等等也有一些代码片段会有所帮助。 –

+1

我正在加载此webview在Assynctask.From doinbackgroungd我打电话runonuithread和加载webview使用loaddatawithbaseurl()..当我使用loadurl()它在4.0.3工作正常,但loaddatawithbaseurl()其失败.. –

+0

什么是你在loadDataWithBaseUrl方法中指定的基础url? –

回答

0

与WebView动画似乎有一个4.0.3的bug。 什么修复它是从动画中删除alpha。 基本翻译动画表现正确。

1

你可以尝试与webview-

mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

添加这些财产,因为它的工作对我来说也喜欢 -

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 

     android:interpolator="@android:anim/cycle_interpolator" 
     android:fromXDelta="100%p" android:toXDelta="0" android:duration="1000"/> 
</set>