web-dev-qa-db-fra.com

Android Couleur d'arrière-plan WebView

J'ajoute à ma mise en page une WebView pour afficher du texte justifié. Je veux que l'arrière-plan de WebView soit transparent pour apparaître comme une TextView. Voici ce que j'ai fait:

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

Cela fonctionne sur l'émulateur, mais lorsque j'exécute l'application sur mon appareil, cela ne fonctionne pas: ce que j'obtiens est un fond blanc.

 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);
45
Vervatovskis

Essayez d'utiliser synopsis.getSettings ();

WebView synopsis;
synopsis=(WebView)findViewById(R.id.synopsis);
synopsis.getSettings();
synopsis.setBackgroundColor(Color.TRANSPARENT);
78
Rookie

essayez ci-dessous le code espère utiliser pleinement pour vous: -

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

code gris: #919191

25
duggu

Vous devez mettre cela dans le code XML:

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

pour votre vue Web comme celle-ci par exemple:

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

et après cela, vous devez aller à Java code et écrire ceci avant loadUrl:

yourWebView.setBackgroundColor(Color.TRANSPARENT);
14
Oubaida AlQuraan

Avez-vous chargé le CSS dans votre vue Web?

Quelque chose comme:

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

ou

synopsis.loadDataWithBaseURL("", textTileStyling, "text/html", "UTF-8", "");
2
Timothy

Ce que je fais c'est

 synopsis.setBackgroundColor(0);

J'espère que ça aide!

2
user1256477

Votre code html met tout en blanc

Remplacer:

 
 String textTitleStyling = "<head> <style> * {margin: 0; padding: 0; font-size: 20;" + 
 "Text-align: justification; couleur: #FFFFFF;} </style> </head> "; 
 
 Chaîne 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); 
 

Avec:

Cela exclut la couleur du style d'en-tête et applique le reste du style uniquement à l'élément de corps

 
 String textTitleStyling = "<head> <style> body {margin: 0; padding: 0; font-size: 20;" + 
 "Text-align: justification; } </style> </head> "; 
 
 Chaîne 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: html fixe

1
SGal
1
Meir Gerenstadt