Я изо всех сил пытаюсь создать WebView с прозрачным фоном.
webView.setBackgroundColor(0x00FFFFFF);
webView.setBackgroundDrawable(myDrawable);
Затем я загружаю HTML-страницу с
<body style="background-color:transparent;" ...
Цвет фона WebView прозрачен, но как только страница загружается, она перезаписывается черным фоном с html-страницы. Это происходит только на Android 2.2, работает на Android 2.1.
Так есть ли что добавить в HTML-код страницы, чтобы сделать его действительно прозрачным?
android
background
webview
transparency
transparent
jptsetung
источник
источник
Ответы:
Это сработало для меня,
источник
android:hardwareAccelerated="true"
В нижней части этой ранее упомянутой проблемы есть решение. Это комбинация из 2 решений.
При добавлении этого кода в WebViewer после загрузки URL- адреса он работает (API 11+).
Это даже работает, когда аппаратное ускорение включено
источник
У меня была такая же проблема с 2.2, а также в 2.3. Я решил проблему, указав значение alpa в html, а не в Android. Я пробовал много вещей, и я обнаружил, что
setBackgroundColor();
цвет не работает с альфа-значением.webView.setBackgroundColor(Color.argb(128, 0, 0, 0));
не будет работать.так вот мое решение, сработало для меня.
И на Яве,
А вот скриншот вывода ниже.
источник
На самом деле это ошибка, и пока никто не нашел обходного пути. Проблема была создана. Ошибка все еще здесь в сотах.
Пометьте это, если считаете, что это важно: http://code.google.com/p/android/issues/detail?id=14749
источник
Вот как вы это делаете:
Сначала сделайте ваш проект основанным на 11, но в AndroidManifest установите minSdkVersion на 8
android: hardwareAccelerated = "false" не требуется и несовместимо с 8
В целях безопасности поставьте это в своем стиле:
работал на меня на 2.2 и 4
источник
Самое главное не было упомянуто.
HTML должен иметь
body
тег сbackground-color
установленным наtransparent
.Таким образом, полное решение будет:
HTML
Деятельность
источник
код ниже работает нормально Android 3.0+, но когда вы попробуете этот код ниже Android 3.0, то ваше приложение принудительно закрывается.
Вы попробуете код ниже на вашем API ниже 11 .
Или
Вы также можете попробовать код ниже, который работает на всех API хорошо.
Приведенный выше код использовать полностью для меня.
источник
Пытаться
webView.setBackgroundColor(0);
источник
Следующий код работает для меня, хотя у меня есть несколько веб-просмотров и прокрутка между ними немного вяло.
источник
android:hardwareAccelerated="false"
AndroidManifest дляactivity
элемента.v.setLayerType(LAYER_TYPE_SOFTWARE, null);
и будет работать.Использовать это
источник
webView.setBackgroundColor(Color.TRANSPARENT)
до или послеloadUrl()
/loadData()
.android:hardwareAccelerated="false"
в манифесте.Проверено на IceCream Sandwich
источник
Просто используйте эти строки .....
И помните, что всегда устанавливайте цвет фона после загрузки данных в веб-просмотр.
источник
это определенно будет работать .. установить фон в XML с Editbackground. Теперь этот фон будет показан
источник
установите bg после загрузки html (из быстрых тестов кажется, что загрузка html сбрасывает цвет bg .. это для 2.3).
если вы загружаете html из данных, которые вы уже получили, достаточно просто выполнить .postDelayed, в котором вы просто устанавливаете bg (например, прозрачный).
источник
Если веб-просмотр можно прокручивать:
Добавьте это в Манифест:
ИЛИ
Добавьте следующее в WebView в макете:
Добавьте следующее в представление прокрутки родителей:
источник
Попробуйте webView.setBackgroundColor (Color.parseColor ("# EDEDED"));
источник
Я пытался наложить прозрачный HTML-оверлей поверх моего вида GL, но он всегда мерцает черным, что покрывает мой вид GL. После нескольких дней, пытаясь избавиться от этого мерцания, я нашел этот обходной путь, который является приемлемым для меня (но позор для Android).
Проблема в том, что мне нужно аппаратное ускорение для моих хороших CSS-анимаций, и это
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
не вариант для меня.Хитрость заключалась в том, чтобы поместить второй (пустой)
WebView
между моим видом GL и оверлеем HTML. ЭтоdummyWebView
я сказал для рендеринга в режиме SW, и теперь мои оверлеи HTML сглаживаются в HW и больше не мерцают черным.Я не знаю, работает ли это на других устройствах, кроме My Acer Iconia A700, но я надеюсь, что смогу помочь кому-то с этим.
источник
Это сработало для меня. Попробуйте установить цвет фона после загрузки данных. для этого setWebViewClient на вашем объекте webview как:
источник
Проверять:
источник
Если ничего не помогает, то, скорее всего, у вас фиксированный размер
webView
, измените ширину и высоту на wrap_content илиmatch_parent
, это должно работать. Это сработало для меня, когда я попытался загрузить GIF.источник
Вы можете использовать BindingAdapter следующим образом:
Ява
XML:
Ресурсы
источник
это лучший ответ. Оно работает!
источник