Android WebView n'affiche pas les <table>. [Résolu]

Signaler
Messages postés
679
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
-
Messages postés
679
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
-
Bonjour,


J'essaie d'utiliser un WebView pour afficher/imprimer une page HTML préalablement créée.

Le code HTML ressemble à ça :

<html>
    <head>
    <title>Ma page</title>
    <meta charset="UTF-8">
    <style type="text/css">
    section{
    column-count: 2;
    }
    </style>
    <h1 style="color:blue;text-align:center;"><b><u>Titre</u></b></h1>
    </head>
    <body>
    <br/><br/>
    <section>
    <table border="5" width="100%" style="height:1000px;margin: 10px;break-inside: avoid-column;">
    <tr style="color:#0101DF;background-color:#9fb1df;"><td><p><b><big><u>Catégorie 1</u></big></b></p></td></tr>
    <tr style="height:50px;"><td><p>Element 1</p></td></tr>
    <tr style="height:50px;"><td><p>Element 2</p></td></tr>
....
    </table>
    <table border="5" width="100%" style="height:1000px;margin: 10px;break-inside: avoid-column;">
    <tr style="color:#0101DF;background-color:#9fb1df;"><td><p><b><big><u>Catégorie 2</u></big></b></p></td></tr>
    <tr style="height:50px;"><td><p>Element 1</p></td></tr>
    <tr style="height:50px;"><td><p>Element 2</p></td></tr>
....
    </table>
    </section>
    </body>
    </html>


Puis en java :
webView.loadData(html, "text/html", "UTF-8");


Si je fais afficher le code par mon navigateur Firefox, la page est affichée normalement.

Mais dans l'application Android, les <table> sont affichées avec une hauteur nulle (seules les bordures apparaissent).
Si j'enlève les <table>, le texte s'affiche bien correctement.

Mes recherches m'ont suggéré d'utiliser
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
mais cela n'a permis aucune amélioration.

1 réponse

Messages postés
679
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
14
EDIT : le problème ne vient pas des table, mais des couleurs : si j'enlève

style="color:#0101DF;background-color:#9fb1df;"

la page est affichée correctement.
Mais je ne comprends pas pourquoi.

J'ai donc remplacé la notation hexadécimale par la notation rgb(r,g,b) et ça fonctionne correctement.