Перекрывающийся контент с прозрачным фоном WebView - PullRequest
0 голосов
/ 05 марта 2012

Я использую WebView для отображения содержимого HTML, включая функцию JavaScript для отображения или скрытия разделов страницы при нажатии на ссылки.По умолчанию все разделы скрыты.Все работает нормально, пока я не установил прозрачный фон WebView, чтобы за ним отображалось статическое изображение.

Вот соответствующие фрагменты кода:

HTML-раздел:

<a class="togglelink-show" onclick="toggle('zone1');">Test</a>
<div id="zone1" style="display:none">
    <p>Some random text that's normally hidden</p>
</div>

JavaScript:

function toggle(id) {
    ele = document.getElementById(id);

    if(ele.style.display == "block") {
        ele.style.display = "none";
    } else {
        ele.style.display = "block";
    }
}

Как я уже писал, эти два прекрасно работают, пока я не установлю в WebView прозрачный фон, используя webView.setBackgroundColor(0); После этого при попытке открыть раздел,иногда WebView не перестраивается должным образом, и содержимое перекрывается с разделами ниже.

Обновление страницы или использование webView.clearView() не работают, потому что тогда страница обновляется с закрытым разделом.Любые предложения?

Если есть другой способ отобразить статическое изображение за веб-обзором, он будет изменен в соответствии с размером экрана, это тоже может сработать.(Я немного разбираюсь в HTML и могу вспомнить только, как выложить фоновое изображение, что, конечно, не то, что я хочу.)

Ответы [ 2 ]

3 голосов
/ 29 марта 2012

я тоже с этим встречался. и мое решение - вызов "webView.setBackgroundColor (0x01010101);" я думаю, что это более или менее прозрачно.

0 голосов
/ 06 марта 2012

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

Добавил пустой div над окном основного контента и отредактировал стили:

<div id="fixedBackground"><img src="" width="0%" height="0%"/></div>
//From the stylesheet:
#fixedBackground    { position:fixed; top:0; left:0; width:100%; height:100%;}
.content {position:relative; z-index:1;}

Это делает фон для WebView видимым, и все правильно перемещается после открытия или закрытия разделов.

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