Fügen Sie benutzerdefinierten CSS zu HTML-Code mit jsoup hinzu

7

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

    
PixelPW 10.04.2011, 20:03
quelle

3 Antworten

16

Mehrere Möglichkeiten. Sie können Element#append() verwenden, um ein Stück anzuhängen von HTML zu dem Element.

%Vor%

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.

%Vor%

Wie auch immer, nach der Änderung erhalten Sie die endgültige HTML-Zeichenfolge von Document#html() .

%Vor%

Schreiben Sie es in die Datei PrintWriter#write() (mit dem richtigen Zeichensatz).

%Vor%

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) ).

    
BalusC 10.04.2011, 23:32
quelle
3

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:

%Vor%

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.

    
Jim Blackler 10.04.2011 20:10
quelle
1

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

    
KilledKenny 10.04.2011 20:58
quelle

Tags und Links