我创建了一个带有透明背景的webview。Webview中的setBackgroundColor()不起作用
browser = new WebView(ActivityActivate.this);
browser.setBackgroundColor(0);
browser.getSettings().setJavaScriptEnabled(true);
browser.addJavascriptInterface(new JavascriptInterface(), "javaInterface");
browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
browser.getSettings().setSupportZoom(true);
browser.loadDataWithBaseURL("https://checkout.google.com", form, "text/html", "UTF-8", null);
llPaymentButtons.addView(browser);
这里是当HTML表单提交和所有复选框通过测试应该改变背景颜色的JavaInterface。
/**
* Interface for Javascript communication
*/
private class JavascriptInterface {
//This is in fact used but from JavaScript
@SuppressWarnings("unused")
public boolean checkboxPass() {
if(acceptsConditions() && acceptsLicense() && acceptsRefundPolicy()) {
browser.setBackgroundColor(Color.WHITE);
return true;
}
return false;
}
}
但是这并不起作用,并且返回的文档仍然具有透明背景。我做错了什么,看起来browser.setBackgroundColor(Color.WHITE);
什么都不做?
你确定代码完全执行了吗?你是否在设置的颜色线上设置了断点? – 2010-11-16 11:51:22
它实际上执行,但从错误的线程,它似乎是一个Handler()修复问题 – jax 2010-11-16 12:00:36