当前位置: 首页 > 知识库问答 >
问题:

如何使Android Webview背景透明KITKAT(4.4)

徐君植
2023-03-14

最近,我在Android系统上实现了基于网络的应用程序。我想让webview的背景颜色透明。

搜索时,我发现Webview有两行代码。

newWebView.setBackgroundColor(0x00000000);                  
newWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

它适用于Android版本4.0~4.3,但不适用于4.4 KITKAT。

我只有白色背景。另外,当我设置背景色黑色时,如下所示:

newWebView.setBackgroundColor(Color.BLACK);

我还看到了白色的背景。有人知道解决办法吗?

共有2个答案

甘明朗
2023-03-14

适用于android 6(对我来说),请参见前面的答案

            wv.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    view.setBackgroundColor(ContextCompat.getColor(context, R.color.transparent));
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                        view.setLayerType(View.LAYER_TYPE_HARDWARE, null);
                    } else {
                        view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
                    }
                }
            });
            wv.setBackgroundResource(android.R.color.transparent);
长孙星汉
2023-03-14

这可能对你有帮助

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

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

来源:http://premius.net/blog/andoid/118-android-webview-transparent-background-for-android-2-3-and-4-x.html

 类似资料:
  • 我遇到了让情节本身透明的方法,但是我如何让背景透明呢?没有Qt有办法做到这一点吗?我希望情节在背景窗口上,例如,假设我正在运行Chrome,我希望情节在chrome窗口上,其内容可见。

  • 问题内容: 使JTable背景透明不是那么容易。我只想查看单元格的文本内容。 问题答案: 如果表本身或单元格都不透明,则该表将是透明的: 如果表格位于中,则也将使其透明: 至少,您可以删除网格线: 一个简单的结果是一件很大的工作…

  • 通过使用启用透明背景功能,可以使用自定义图片作为背景。 controller.setTransparentBackground( true );

  • 问题内容: 我正在使用CSS attrubutes: 不透明度:.9; 使DIV透明,但是当我在该DIV中添加另一个DIV时,它也使其透明。 我想使外部(背景)DIV仅透明。怎么样 ? 问题答案: 内部DIV无法撤消外部DIV的不透明度属性。如果要实现透明度,请使用或: 外层div: 内部div: 编辑 因为您已经添加了问题,所以我假设您还想要IE(旧版本)的有效解决方案。这应该可以工作(IE的最

  • 问题内容: 我有一个JLabel,可以在鼠标输入时更改其背景颜色。我的问题是我希望JLabel在鼠标退出后变得透明。 有没有我可以用来完成此任务的声明? 问题答案: 在德国,这是一个懒惰的假期,因此结合以下两个答案: 问题(实际上,我倾向于将其视为错误)是设置opaque属性不会触发适当的重绘。JComponent触发了change事件,但似乎没人在听:

  • 我在这里的要求是使我的孩子突出,而没有的白色背景-(因此AnchorPane需要透明),我如何实现这一点?