2013-01-22 25 views
13

W moim projekcie są dwa widoki WebView i przełączam te WebViews na przemian, aby uzyskać płynną animację podczas ładowania mojego adresu URL. Kiedy używam metody Webview.loadUrl(), działa ona dobrze na wszystkich urządzeniach. Ale kiedy używam tego samego kodu z loadDataWithBaseUrl(), to nie działa on w wersji 4.0.3, ale działa poprawnie na urządzeniach 2.2, 2.3, 4.0.4, 4.1.WebView loadDataWithBaseUrl - dziwny problem z Androidem 4.0.3

Czy to błąd z WebKit? Próbowałem tak wiele sposobów, aby to zrobić, ale nie ma wyjścia. Jestem naprawdę sfrustrowany i popsułem to.

To będzie bardzo pomocne, jeśli ktoś może pokazać mi właściwy sposób na zrobienie tego.

+0

Mógłbyś być bardziej konkretny temat to nie działa. Czy po prostu nie ładuje się nic czasu? Czy powoduje jakiś błąd? Itd. Pomagają również niektóre fragmenty kodu. –

+1

Załaduję ten widok WWW w Assynctask.From doinbackgroungd Wzywam runonuithread i załadować webview za pomocą loaddatawithbaseurl() .. kiedy używam loadurl() jego działa dobrze w 4.0.3, ale loaddatawithbaseurl() jego nie działa .. –

+0

Co to jest bazowy adres URL, który podałeś w metodzie loadDataWithBaseUrl? –

Odpowiedz

0

Wygląda na to, że w wersji 4.0.3 występuje błąd z animacjami WebView. Naprawiono dla mnie usunięcie alfa z animacji. Podstawowa animacja tłumaczenia jest zachowywana poprawnie.

1

Można spróbować dodać te właściwości z webview-

mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

i mogą korzystać z animacji, ponieważ jego pracy dobrze dla mnie jak-

<?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> 
Powiązane problemy