Ich arbeite an einer Android-App, die eine HTML-Seite lädt und in einer Webansicht anzeigt. Das Problem ist, ich möchte meine benutzerdefinierte CSS (der geladene HTML hat keine CSS oder Link zu einem CSS) hinzufügen. Wie füge ich die benutzerdefinierte CSS zum HTML-Code mit jsoup hinzu? Ich kann das HTML nicht ändern. Und wie kann das Webview es später öffnen? Danke
Mehrere Möglichkeiten. Sie können Element#append()
verwenden, um ein Stück anzuhängen von HTML zu dem Element.
Oder verwenden Sie Element#attr(name, value)
, um vorhandenen Elementen Attribute hinzuzufügen. Hier ist ein Beispiel, das style="color:pink;"
zu allen Links hinzufügt.
Wie auch immer, nach der Änderung erhalten Sie die endgültige HTML-Zeichenfolge von Document#html()
.
Schreiben Sie es in die Datei PrintWriter#write()
(mit dem richtigen Zeichensatz).
Zum Schluss öffne es in der Webansicht. Da ich es nicht von oben sagen kann, hier ist nur ein Link zu einem Beispiel, das ich für hilfreich halte: WebViewDemo.java . Ich habe übrigens den Link auf diesem Blog gefunden (den ich wiederum von Google gefunden habe) ).
Wahrscheinlich ist der einfachste Weg, den HTML-Text zu suchen und zu ersetzen, um Ihre benutzerdefinierten Stile einzufügen, bevor Sie ihn in Ihre WebView
laden. Ich mache das in meiner App BBC News, um die Nachrichtenartikel-Seite ein wenig neu zu gestalten. Mein Code sieht so aus:
Sehen Sie, wie ich am end head
-Tag suche und ersetze (einschließlich meinem eigenen </head>
-Tag im ersetzten Segment. Dies stellt sicher, dass das neue Snippet auf der Seite in der richtigen Geschwindigkeit läuft.
Es gibt ein paar Möglichkeiten, ccs in html einzubinden
Tis verwende ich, wenn Sie es als eine externe Datei gespeichert haben:
%Vor%Wenn Sie es in die HTML-Datei aufnehmen möchten:
%Vor%Oder wenn Sie ein einzelnes Tag ändern möchten:
%Vor%* Bearbeiten
Jedes dieser Beispiele sollte keine Probleme mit der Anzeige haben.
Siehe: W3 Schools CSS