G
gweir
Neues Mitglied
- 0
Hallo,
ich möchte ein SVG welches ja nichts anders als eine XML Datei ist darstellen. Da die WebView für mich das Zoomen übernimmt nehme ich diese. Das funktioniert auch soweit.
Mein XML enthält nun intern jedoch links auf Bilder die neben der Datei liegen.
Diese Bilder werden in der WebView korrekt dargestellt wenn ich folgenden Aufruf nutze.
lade ich die Daten jedoch wie folgt. Wird das SVG weiterhin angezeigt die zusätzlichen Bilder jedoch nicht. Weiß jemand woran das liegen kann? Mache ich einen Fehler beim erstellen des XML Dokuments?
Ich wäre für Hinweise oder Ideen dankbar.
Der XML Konten wird so erstellt
ich möchte ein SVG welches ja nichts anders als eine XML Datei ist darstellen. Da die WebView für mich das Zoomen übernimmt nehme ich diese. Das funktioniert auch soweit.
Mein XML enthält nun intern jedoch links auf Bilder die neben der Datei liegen.
Diese Bilder werden in der WebView korrekt dargestellt wenn ich folgenden Aufruf nutze.
Code:
mWebView.loadUrl(uri.toString());
lade ich die Daten jedoch wie folgt. Wird das SVG weiterhin angezeigt die zusätzlichen Bilder jedoch nicht. Weiß jemand woran das liegen kann? Mache ich einen Fehler beim erstellen des XML Dokuments?
Ich wäre für Hinweise oder Ideen dankbar.
Code:
mWebView.loadData(xmlReader.getmXmlContent(), "text/xml", "UTF-8");
Der XML Konten wird so erstellt
Code:
try {
this.mUrl = new URL(mUri.toString());
//get DOM from XML File
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(mUrl.openStream()));
doc.getDocumentElement().normalize();
//get IMG Links
NodeList nl = doc.getElementsByTagName("image");
//get Content from XMLDoc
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty(OutputKeys.INDENT, "yes");
StringWriter sw = new StringWriter();
t.transform(new DOMSource(doc), new StreamResult(sw));
mXmlContent = sw.toString();
mDoc = doc;
} catch (Exception e) {
e.printStackTrace();
}