WebView возвращает неверный window.innerHeight

У меня есть приложение, которое использует Android WebView, а также некоторые JavaScript. Когда мой WebViewClient вызываетonPageFinished()Я предупреждаю мой JavaScript для запуска метода инициализации. Мой JavaScript включен и загружен до того, как я нажмуonPageFinished().

В этом методе JavaScript я используюwindow.innerWidth, Однако возвращаемое значение всегда неверно и всегда одинаково. Независимо от моей ориентации он сообщает, что внутренняя ширина равна 320, а внутренняя высота равна 240. (Правильные значения ширины для портрета и пейзажа равны 360 и 598 соответственно.) В любом другом месте я получаю доступwindow.innerWidth или жеwindow.innerHeight в JavaScript это дает мне точное число.

Что еще более удивительно, так это то, что если я проверяю высоту или ширину WebView прямо в моемonPageFinished() звоните используя

int height = view.getHeight();

int width = view.getWidth();

тогда он всегда возвращается правильно (хотя он возвращает точные числа пикселей, а не DIP). Это заставляет меня думать, что все загрузилось с WebView, и поэтому у меня не должно быть проблем с моим JavaScript.

Есть идеи о том, что происходит?

Заранее спасибо!

Ответы на вопрос(4)

Ваш ответ на вопрос