编辑:我目前的解决方案。将json包装在div标签中并将其设置为透明。
我正在远程从json对象填充webview。
{
"message": "<p style=\"color:#EEEEEE;background-color:transparent;font-family:'Arial Narrow','Nimbus Sans L',sans-serif;\"><\/p><p style=\"color:#EEEEEE;background-color:transparent;font-family:'Arial Narrow','Nimbus Sans L',sans-serif;\">The mission of the Canton Police Department is to protect the lives and properties of the citizens of Canton, enforce all city, state, and federal law<\/p>",
"nationalad": ""
}
我可以让webview背景透明化。但不是半透明的。当我尝试这个时:
webView1.setBackgroundColor(Color.argb(128, 00, 00, 000));
我得到一个黑色背景,右边有一个小的垂直透明条。为了让它一直透明:
webView1.setBackgroundColor(0x00000000);
以下是我引入JSON的方法:
try{
JSONObject json = new JSONObject(result);
JSONArray nameArray = json.names();
JSONArray valArray = json.toJSONArray(nameArray);
for (int i = 0; i < valArray.length(); i++)
{
WebView webView1 = (WebView) findViewById(R.id.webView1);
// webView1.setBackgroundColor(0x00000000);
//webView1.loadDataWithBaseURL(null, valArray.getString(0), "text/html", "utf-8", null);
webView1.setBackgroundColor(Color.argb(128, 00, 00, 00));
}
编辑:XML
<!-- Included header.xml here -->
<ViewStub
android:id="@+id/vsHeader"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inflatedId="@+id/header"
android:layout="@layout/header" />
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/cpd"
android:gravity="center|center_horizontal|center_vertical"
android:orientation="vertical"
android:paddingBottom="50dp" >
<WebView
android:id="@+id/webView1"
android:layout_width="250dp"
android:layout_height="300dp"
/>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:4)
这对我有用:
网页页面正文:background-color:transparent
java 活动:
webView.loadUrl("yourwebpage");
webView.setBackgroundColor(0x00000000);
webView.setLayerType(WebView.LAYER_TYPE_SOFTWARE, null);
您必须为您的活动设置hardwareAccelerated false :
android:hardwareAccelerated="false"
答案 1 :(得分:2)
将setBackgroundColor调用更改为以下内容:
webView1.setBackgroundColor(0xAA000000);
这应该给你一个半透明的黑色。前两个条目是alpha值。值越低,颜色越透明。
答案 2 :(得分:0)
试试这个:
webView.setAlpha(0); /*or for semi transparent : webView.setAlpha(0.5f);*/