Android WebView background color

56

I am adding to my layout a WebView to display justified text. I want to set the background of the WebView to be transparent to appear like a textView. Here's what I did:

WebView synopsis;
synopsis=(WebView)findViewById(R.id.synopsis);
synopsis.setBackgroundColor(0x00000000);

It works on the emulator, but when I run the application on my device it doesn't work: what I get is a white background.

 String textTitleStyling = "<head><style>* {margin:0;padding:0;font-size:20; text-align:justify; color:#FFFFFF;}</style></head>";
 String titleWithStyle = textTitleStyling + "<body><h1>" + movie.synopsis + "</h1></body>";
 synopsis.loadData(textTitleStyling + movie.synopsis, "text/html", "utf-8");
 synopsis = (WebView) findViewById(R.id.synopsis);
 synopsis.getSettings();
 synopsis.setBackgroundColor(0);
android
webview
background-color
asked on Stack Overflow Jun 6, 2012 by Vervatovskis • edited May 20, 2015 by PoorBob

9 Answers

95

Try using synopsis.getSettings();

WebView synopsis;
synopsis=(WebView)findViewById(R.id.synopsis);
synopsis.setBackgroundColor(Color.TRANSPARENT);
answered on Stack Overflow Jun 6, 2012 by Rookie • edited Dec 11, 2019 by Klesun
28

try below code hope use full for you:-

webview.setBackgroundColor(Color.parseColor("#919191"));

grey code : #919191

answered on Stack Overflow Dec 26, 2012 by duggu • edited May 11, 2017 by duggu
19

You must put this in the XML code :

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

for your web view like this for example :

<WebView
    android:id="@+id/MyWebView"
    android:layout_width="fill_parent"
    android:layout_height="62dp"
    android:background="@android:color/transparent"
    android:scrollbars="none" />

and after this you must go to Java code and write this before loadUrl :

yourWebView.setBackgroundColor(Color.TRANSPARENT);
answered on Stack Overflow Feb 19, 2014 by Oubaida AlQuraan • edited Apr 13, 2017 by stkent
2

What I do is

 synopsis.setBackgroundColor(0);

Hope it helps!

answered on Stack Overflow Jun 6, 2012 by user1256477
2

Did you load the css in ur webview?

Something like:

synopsis.loadData(textTileStyling, "text/html", "UTF-8");

or

synopsis.loadDataWithBaseURL("", textTileStyling, "text/html", "UTF-8", "");
answered on Stack Overflow Jun 10, 2012 by Timothy • edited Jun 11, 2012 by swiftBoy
1
1

Your html code sets everything to white

Replace:


    String textTitleStyling = "<head><style>* {margin:0;padding:0;font-size:20; " + 
    "text-align:justify; color:#FFFFFF;}</style></head>"; 

    String titleWithStyle = textTitleStyling + "<body><h1>" + movie.synopsis +
    "</h1></body>";

    synopsis.loadData(textTitleStyling + movie.synopsis, "text/html", "utf-8"); 
    synopsis = (WebView) findViewById(R.id.synopsis); 
    synopsis.getSettings(); 
    synopsis.setBackgroundColor(0);

With:

This excludes color from header style and applies the rest of the style only to body element


    String textTitleStyling = "<head><style>body{margin:0;padding:0;font-size:20; " + 
    "text-align:justify;}</style></head>"; 

    String titleWithStyle = textTitleStyling + "<body><h1>" + movie.synopsis +
    "</h1></body>";

    synopsis.loadData(titleWithStyle, "text/html", "utf-8"); 
    synopsis = (WebView) findViewById(R.id.synopsis); 
    synopsis.getSettings(); 
    synopsis.setBackgroundColor(0);

EDIT: fixed html

answered on Stack Overflow Jul 5, 2013 by SGal
0

You can also do it -

webview.setBackgroundColor(getContext().getResources().getColor(android.R.color.transparent));

Here android.R.color.transparent is transparent color which is belongs to android fragmework.

answered on Stack Overflow Jul 14, 2020 by Gk Mohammad Emon
0

This is the only way I could get it to work and not load an initial white background first, if I had dark mode on:

webView.setBackgroundColor(Color.TRANSPARENT);
webView.setVisibility(View.VISIBLE);


<WebView
    android:id="@+id/web_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="invisible"
   />
answered on Stack Overflow Jan 21, 2021 by live-love

User contributions licensed under CC BY-SA 3.0