«Цвет фона корпуса: прозрачный» не влияет на веб-просмотр Android 4.0.3 - PullRequest
9 голосов
/ 17 января 2012

Я хочу отобразить webView на статическом изображении на imageView.

Я установил прозрачный цвет для webView, как это

webview.setBackground(0);

Я установил цвет фона как прозрачный

<html>
<head>
</head>
<body style="background-color:transparent">
</body>
</html>

но фон Webview продолжает отображаться белым цветом.

Я показываю любые вопросы и пробую решение на следующей странице, но ничего не изменится

У вас есть идеи? Пожалуйста, помогите мне.

Ответы [ 4 ]

10 голосов
/ 26 февраля 2012

Я столкнулся с той же проблемой с белым фоном WebView на устройстве с ICS (4.0)!

Ответ NcJlee действительно удалил белый фон из веб-просмотра, но для него требуется API-уровень 11!Это не будет работать на старых API!

    webView.setBackgroundColor(0);
    webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);

Решение состоит в том, чтобы установить атрибут android: layerType = "software" для веб-просмотра в ресурсе .xml.

    <WebView
        android:id="@+id/webviev"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/transparent"
        android:layerType="software" />
5 голосов
/ 06 февраля 2012

Один из способов избежать этого - снять флажок «Force GPU Rendering» в

    Settings -> Developer Options -> Force GPU Rendering

Но это не решает проблему. Я пробовал этот код в эмуляторе, и он работает. Принудительно отображать веб-представление с использованием программного обеспечения вместо аппаратного ускорения

    webview.setBackgroundColor(Color.TRANSPARENT);
    webview.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);

Решает ли это вашу проблему?

0 голосов
/ 02 января 2013

попытки вызвать setLayerType или указать android: layerType в xml вызвали для меня ошибки компиляции. Это произошло несмотря на то, что для minSdkVersion или targetSdkVersion установлено значение 11 +.

Итак, я использовал рефлексию для вызова setLayerType, как рекомендовано в: Прозрачный WebView не работает на Android v4.0

0 голосов
/ 29 декабря 2012

попробуйте этот код для transrent webview

webView.setBackgroundColor(Color.TRANSPARENT);
...