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);
Try using synopsis.getSettings();
WebView synopsis;
synopsis=(WebView)findViewById(R.id.synopsis);
synopsis.setBackgroundColor(Color.TRANSPARENT);
try below code hope use full for you:-
webview.setBackgroundColor(Color.parseColor("#919191"));
grey code : #919191
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);
What I do is
synopsis.setBackgroundColor(0);
Hope it helps!
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", "");
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
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.
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"
/>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.