【问题标题】:Android webview fixed backgroundAndroid webview 固定背景
【发布时间】:2012-12-10 12:53:16
【问题描述】:

为了在 webview 中有一个固定的背景,我费了很大力气。

首先我尝试使用 CSS,但我发现 background-attachment:fixed 在 android 中不起作用,至少在 4 之前(不知道新版本)。

另一种选择是有一个android也不支持的可滚动DIV。

我没有尝试 iscroll 来解决这个问题,但之前在其他地方使用过它并且不满意。我不知道是否可以使用 iframe。

另一个选项是使用 android 设置背景。我对此进行了很多阅读并尝试了很多事情,例如使用带有背景的容器布局并将 webview 背景设置为透明。

它在 2.2 中工作有延迟,在 4 中它根本没有工作。

我厌倦了浪费很多时间来完成这件小事。

您还有其他想法来实现它吗?

【问题讨论】:

  • WebView.setBackgroundColor(0); WebView.setBackgroundResource(color.TRANSPARENT);你试过吗?
  • 是的,我提到了这一点。它在 4.0 中不起作用
  • code.google.com/p/android/issues/detail?id=3301 它说他们在 jelly bean 4.1 中添加了对此的支持...
  • @Παύλος 我的目标是大多数用户所在的 2.2 到 4.0

标签: android css webview


【解决方案1】:

我终于找到了解决办法:

这就是你的做法:

首先让你的项目基于 11,但在 AndroidManifest 中将 minSdkVersion 设置为 8

wv.setBackgroundColor(0x00000000);
if (Build.VERSION.SDK_INT >= 11) wv.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);

this.wv.setWebViewClient(new WebViewClient()
{
    @Override
    public void onPageFinished(WebView view, String url)
    {
        wv.setBackgroundColor(0x00000000);
        if (Build.VERSION.SDK_INT >= 11) wv.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
    }
});

为了安全起见,请按照您的风格:

BODY, HTML {background: transparent}

在 2.2 和 4 上为我工作

【讨论】:

    猜你喜欢
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多