Android Webview - размеры экрана javascript против фактических размеров экрана - PullRequest
3 голосов
/ 25 декабря 2011

У меня очень простое задание со следующим макетом ...

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <WebView
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </WebView>
</LinearLayout>

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Activity * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *1003*.

Итак ... в моем HTC Desire теоретически WebView занимает 800x480 (wxh) пикселей. Пока все хорошо, он полностью заполняет экран.

У меня путаница в том, что WebView загружает HTML-документ с сервера, который использует функцию javascript для получения ширины и высоты экрана ...

<script type="text/javascript">
<!--
    function getDims() {
        var screenW = screen.width;
        var screenH = screen.height;
        return "size=" + screenW + "x" + screenH;
    };
-->
</script>

... проблема в том, что screenW - это 527, а screenH - это 320, и я не понимаю, почему.

Глядя на высоту 320, это ровно две трети от 480, поэтому я посмотрел, что такое две трети из 800 (~ 533). Похоже, что screen.width и screen.height в javascript сообщают о двух третях фактических доступных пикселей.

Может кто-нибудь объяснить, почему это происходит?

1 Ответ

4 голосов
/ 25 декабря 2011

Для веб-сайта вы можете контролировать размер экрана в Android с помощью мета-тега на вашем сайте.

Существует три параметра для размера экрана: «низкий», средний и высокий точек на дюйм.

Таким образом, устройство автоматически масштабирует ваш веб-сайт (если вы ничего не установили, оно подразумевает средний dpi)

В javascript вы не получаете точный размер пикселя устройства, выполучить больше, как устройство где-то в этой области ...

Хорошее объяснение этому можно найти здесь: http://developer.android.com/guide/webapps/targeting.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...