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

时间:2014-05-24 08:13:35

标签: android webview transparent android-4.4-kitkat

最近,我在Android上实现了基于webbased的应用程序。 我想让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 个答案:

答案 0 :(得分:4)

这可能对您有所帮助

    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

答案 1 :(得分:1)

适用于Android 6(对我而言),请参阅上一个答案

#include <iostream>


using namespace std;


bool isNumberInArray(int array[], int A, int size)

{
bool isFound = false;
for(int i = 0; i < size; i++)
{
    if(array[i] == A)
    {
        isFound = true;
        break;
    }
}

return isFound;

}


int main()

{
int T, i = 0, A, size = 0, count;
int array[100000];
cin >> T;
while(T--)
{
    cin >> size;
    count = 0;
    i = 0;
    while(size--)
    {
        cin >> A;
        if(isNumberInArray(array, A, count) == false)
        {
            array[i] = A;
            count++;
        }
        i++;        
    }   
    cout << count << endl;
}

return 0;

}