Android中的SVG支持

Shi*_*S R 6 svg android webview

我们将开发一个Android应用程序,用于显示svg格式的autocad绘图文件,其中ecma脚本正在使用.我们在模拟器中测试了应用程序并在webview中打开了svg文件.我们的问题是XML标签中的ecmascript不是在android中的webview中执行的.我们知道android只支持3.0版的SVG.它不支持svg中的ecmascript吗?

提前致谢

        final String mimeType = "text/html"; 
        final String encoding = "utf-8"; 
        final String html = "<p><img height=\"600px\" width=\"600px \"src=\"file:///android_asset/drawing3.svg\" /></p>"; 


        WebView wv = (WebView) findViewById(R.id.webview_component); 
        wv.getSettings().setJavaScriptEnabled(true); 
        wv.loadDataWithBaseURL("fake://not/needed", html, mimeType, encoding, ""); 
Run Code Online (Sandbox Code Playgroud)

Ragards Shibu

Tom*_*mik 11

Android(3.0及更高版本)支持带有ECMAScript的SVG.

问题是当在<img>标签中添加svg时,svg中的ecmacript不会被执行.我还在几个桌面浏览器中对它进行了测试,当svg在<img>标签中时,ecmascript没有在其中任何一个中执行.

有5种方法可以在html中添加svg:

  1. 将其添加为带有<img>标记的图像
  2. <embed>标签嵌入它
  3. <iframe>标签嵌入它
  4. <object>标签嵌入它
  5. 将svg代码直接嵌入到html中(使用<svg>标记)

仅当svg嵌入或标记时<embed>,才执行svg中的ecmascript .当直接在标记中嵌入svg代码时,可能需要进行一些代码更改(例如,将脚本移动到html中的其他位置),但它也应该有效.<iframe><object><svg>