2012-03-05 2 views
0

Я использую WebView для отображения содержимого HTML, включая функцию JavaScript, чтобы показывать или скрыть разделы страницы при нажатии ссылок. По умолчанию все разделы скрыты. Все работает нормально, пока я не заставлю фон WebView быть прозрачным, чтобы после него отображалось статическое изображение.Перекрытие содержимого прозрачным фоном 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 и мог только помнить, как рисовать фоновое изображение, что, конечно же, не то, что я хочу.)

ответ

0

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

Добавлен пустой 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-шоу сквозным, и после вскрытия или закрытия все происходит правильно.

3

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

+0

Спасибо за это - я использую «setBackgroundColor (0x01000000);» – ajh158

Смежные вопросы