У меня есть видоискатель, который содержит веб-просмотр. В некоторых случаях (кажущихся случайными) нижняя часть веб-просмотра будет дрожать / прыгать. Это может длиться где-то от секунды до нескольких секунд. Вот видео, чтобы проиллюстрировать, о чем я говорю http://www.youtube.com/watch?v=I8s2P4R95r4
Я создал базовый тестовый проект, который воспроизводит проблему http://dl.dropbox.com/u/1256312/WebView%20Test.rar
Проблема возникает только в сотах и обычно только в ландшафтном режиме. Я тестировал на нескольких устройствах 2.x и все в порядке.
После поиска я обнаружил еще один случай, когда у кого-то была похожая проблема в Honeycomb, но они предположили, что причина связана с разметкой. Однако разметка, которую я использую, довольно проста, и в любом случае я извлек ее и убедился, что она действительна.
Ниже приведен соответствующий код. Я удалил много вещей из поля зрения, чтобы устранить проблему в другом месте. View1 имеет видоискатель. В упражнении я создаю несколько пользовательских представлений типа View2 (который содержит нарушающее веб-представление) и добавляю их в viewflipper.
View1
<LinearLayout android:id="@+id/RelativeLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/question_flipper"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:layout_marginTop="50dp">
</ViewFlipper>
<RelativeLayout android:id="@+id/FormulaAndResultLayout"
android:layout_width="fill_parent"
android:layout_height="75dp"
.....
etc.
View2
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/QuestionLinearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#123123">
<WebView android:id="@+id/question_web_view"
android:layout_centerHorizontal="true"
android:layout_below="@id/question_figure"
android:layout_marginTop="5dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="none"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:background="#444444"/>
</LinearLayout>
Загрузка веб-просмотра
qWebView = (WebView) view.findViewById(R.id.question_web_view);
qWebView.loadDataWithBaseURL(null, String.format(questionHTMLHeader, qObj.questionText), "text/html", "utf-8", null);