Мое приложение использует WebView
с прозрачным фоном, в котором некоторые свойства стиля элементов изменяются с помощью JavaScript.
Проблема: WebView
не обновляется в соответствии с измененными свойствами. Когда WebView
перерисовывается (например, из-за изменения ориентации пользователя), WebView
обновляется правильно.
Я воспроизвел проблему на Android 3.2 (на Samsung GT), но на Android 2.1 и 4.3 все работает нормально.
Пример кода, воспроизводящего проблему:
Очевидно, что при нажатии на первое изображение оно должно исчезнуть, а нажатие на второе должно переместить его. Если цвет фона WebView
изменен на непрозрачный, или если я удалю изображение, отображаемое под WebView
, все будет работать нормально ...
HTML, загруженный веб-представлением .:
Файл макета:
Приложение Действие
:
public class TestImageMoveActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RelativeLayout webviewContainer =
(RelativeLayout)findViewById(R.id.WebviewContainer);
WebView web = new WebView(this);
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
web.setLayoutParams(
new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
web.setBackgroundColor(Color.TRANSPARENT);
webviewContainer.addView(web);
web.loadUrl("http://192.168.1.12/myWeb/localTmp/testImageMove.html");
}
}
Снимок экрана до касания:
Снимок экрана до касания
Снимок экрана после касания обоих изображений