Anzeigen von benutzerdefiniertem HTML-Inhalt in einer WebView
Frage:
Eine Anwendung verwendet JSoup, um HTML-Daten aus einem Message-Board-Thread abrufen. Das Ziel besteht darin, diesen HTML-Code in einem WebView mit benutzerdefiniertem CSS darzustellen, um sein Erscheinungsbild für mobile Geräte zu optimieren. Es werden zwei Ansätze in Betracht gezogen: das Einfügen von CSS direkt in die HTML-Daten oder die Verwendung einer separaten CSS-Datei aus den Assets der App.
Antwort:
webview.loadDataWithBaseURL bietet eine praktische Lösung Lösung, indem Sie eine Basis-URL angeben und Daten mit Verweisen auf lokale Assets laden können. Dieser Ansatz macht eine manuelle CSS-Injektion überflüssig und vereinfacht den Prozess.
Implementierung:
htmlData = "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + htmlData;
webView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "UTF-8", null);
Hinweis:
Wenn die HTML-Daten aus dem geladen werden Im Assets-Verzeichnis ist die Angabe einer Basis-URL nicht erforderlich. Mit dieser Methode kann WebView relative Links zu CSS-Dateien auflösen, die sich im Assets-Ordner befinden.
Das obige ist der detaillierte Inhalt vonWie zeige ich benutzerdefinierten HTML-Inhalt am besten mit CSS in einem Android-WebView an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!