2013-03-21 34 views
21

我正在尋找一塊代碼,它能夠在版本4.0及以上的WebView中獲得透明背景。我的代碼在2.3版本上運行正常,但在4.0和4.2版本上運行時,它的白色背景已經變成白色。我正在提供適用於版本2.3的代碼,但不在4.0和4.2中。請幫幫我。在此先感謝...如何獲得webView的4.0版本的透明背景

在XML:

<WebView 
    android:id="@+id/webView" 
    android:layout_marginTop="6dp" 
    android:layout_below="@+id/image" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    android:hardwareAccelerated ="true"   
    /> 

在活動文件:

webView = (WebView) findViewById(R.id.webView); 
backButton = (ImageView) findViewById(R.id.backButton); 
webView.setBackgroundColor(0);      
webView.loadUrl("file:///android_asset/Info.html"); 
webView.setBackgroundColor(Color.TRANSPARENT); 
/* this is used to make the background white after loading the file on screen. */ 
+0

我試過這一次,但最終我對WebView和應用程序使用了相同的背景,所以出現了一個幻覺,它是透明的。 – vorrtex 2013-03-21 15:26:03

回答

39

試試這個:

webView.setBackgroundColor(0x00000000); 

,並刪除android:hardwareAccelerated ="true"
因爲這是題外話。

+0

謝謝......現在它的工作。但它通常是從xml工作(我認爲)。 – Tapesh 2013-05-07 12:03:58

+1

只有這個人工作。 – 2014-04-02 11:48:09

+0

@MehulJoisar:然後upvote它:P – gunar 2014-04-02 12:20:31

1

setBackgroundColor(0x00000000); 會讓你的WebView透明

11

如果網頁流量是scrolable:

一下添加到清單:

android:hardwareAccelerated="false" 

OR

添加以下的WebView佈局:

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

將以下內容添加到父母的滾動條l查看:

android:layerType="software" 
+1

設置android:hardwareAccelerated =「false」這對我來說..在android 16 HCL設備..你可以啓用它的應用程序,只是禁用它,你使用的活動有webview .. – 2016-01-12 11:32:55