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);
Essayez d'utiliser synopsis.getSettings ();
WebView synopsis;
synopsis=(WebView)findViewById(R.id.synopsis);
synopsis.getSettings();
synopsis.setBackgroundColor(Color.TRANSPARENT);
essayez ci-dessous le code espère utiliser pleinement pour vous: -
webview.setBackgroundColor(Color.parseColor("#919191"));
code gris: #919191
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);
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", "");
Ce que je fais c'est
synopsis.setBackgroundColor(0);
J'espère que ça aide!
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
Vous pouvez trouver quelques conseils ici: http://code.google.com/p/Android/issues/detail?id=14749 et aussi ici: couleur d'arrière-plan du style Android WebView : transparent ignoré sur Android 2.2