【Android】WebView设置背景色

 试遍了网上关于WebView设置背景色的各个方法,都没有下面这个靠谱。描述下我遇到的问题,WebView加载显示一段Html代码,但是UI设计的主界面是有一个浅灰色背景,而WebView默认的背景色白色死活去不掉,最终找到了下面的这篇文章。正解:

 

Android WebView 设置背景色为透明色

在网上找了 好多的方法都试过了 都不行

1.直接设置成background 为透明色 或者透明图片 (无效)

android:background="@android :color/transparent"

2.设置加载的html为透明背景图片(无效)

 String mobileDetails = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /><title>vvv</title></head>" +
   "<div style='background-image: url(file:///android_asset/z_bg_transparent.png);'>" +
   mGetDetail.data.get("description")
   + "</div></html>";

3.网上所谓的(无效)

android:layerType="software"

或者

android:hardwareAccelerated="false"

4. 直接代码中设置 mWebView.setBackgroundColor(0); (无效)

5.最后抓着头皮我在 mWebView.setBackgroundColor(0); 基础上设置了他的透明度为 2 结果ok了(有效)

代码如下:

  mWebView.getSettings().setJavaScriptEnabled(true);
  mWebView.getSettings().setDefaultTextEncodingName("utf-8") ;
  mWebView.setBackgroundColor(0); // 设置背景色
  mWebView.getBackground().setAlpha(0); // 设置填充透明度 范围:0-255
  mWebView.loadDataWithBaseURL(null, "加载中。。", "text/html", "utf-8",null);
  mWebView.loadDataWithBaseURL(mGetDetail.data.get("hostsUrl"), mGetDetail.data.get("description"), "text/html", "utf-8",null);
  mWebView.setVisibility(View.VISIBLE); // 加载完之后进行设置显示,以免加载时初始化效果不好看

最后设置背景色哪行代码设置上就OK了

亲测可行,大家可以验证下哈

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值