从字符串创建和显示 SVG

Emi*_*ito 1 svg android

我有一个表示 svg 的字符串。

<svg height="210" width="400"><path d="M150 0 L75 200 L225 200 Z" />
Run Code Online (Sandbox Code Playgroud)

如何将此字符串转换为 Drawable、Bitmap 或类似内容以在 imageview 中显示它?

Pau*_*eau 6

您可以选择一些适用于 Android 的 SVG 库。每个人的做法略有不同。

对于 AndroidSVG,你会这样做:

SVG  svg = SVG.getFromString(myStringWithSvgInIt);
PictureDrawable  pd = new PictureDrawable(svg.renderToPicture());

myImageView.setImageDrawable(pd);
Run Code Online (Sandbox Code Playgroud)

  • 对于那些刚接触 Android Studio 且不知道如何安装 AndroidSVG 的人:将 `mavenCentral()` 添加到 `ProjectRoot/build.gradle` 并将 `implementation 'com.caverock:androidsvg-aar:1.4'` 添加到 ` ProjectRoot/app/build.gradle` 如[此处](https://bigbadaboom.github.io/androidsvg/download.html)所述(其中`ProjectRoot`是项目的根目录),然后同步 Gradle (Android Studio会建议这样做,只需单击立即同步),然后当您在 Java 代码中键入“SVG”时,Android Studio 会建议导入 AndroidSVG,就像它是内置库一样。 (2认同)