Android上的SVG支持

Android上的SVG支持,android,svg,Android,Svg,Android支持SVG吗?有什么例子吗?目前包括我在内的一些人都在独立工作。 您可以在这些文章中找到有效的解决方案: Android支持SVG。Android支持SVG,并支持静态SVG内容。有一个新的开源库,支持加载和绘制SVG Basic 1.1文件:。性能很好,因为实际图形是由android.graphics.Picture对象本地处理的。最完整的答案是: Android 2.x默认浏览器本机不支持SVG Android 3+默认浏览器确实支持SVG 要将SVG支持添加到平台的2.

Android支持SVG吗?有什么例子吗?

目前包括我在内的一些人都在独立工作。
您可以在这些文章中找到有效的解决方案:


Android支持SVG。

Android支持SVG,并支持静态SVG内容。

有一个新的开源库,支持加载和绘制SVG Basic 1.1文件:。性能很好,因为实际图形是由android.graphics.Picture对象本地处理的。

最完整的答案是:

  • Android 2.x默认浏览器本机不支持SVG
  • Android 3+默认浏览器确实支持SVG
要将SVG支持添加到平台的2.x版本,您有两个基本选择:

  • 安装功能更强的浏览器(如Firefox或Opera Mobile,两者都支持SVG)
  • 使用可以解析SVG并将其呈现到HTML5画布的JavaScript多边形填充
  • 如果您只是想让SVG为个人用途或有限的(可控的)用户集工作,那么第一个选项是可以的。如果您想在针对大量不受控制的用户群的同时使用SVG,那么这不是一个好的选择

    在后一种情况下,需要使用多边形填充。现在有很多JavaScript库可以使用SVG并呈现到画布上。两个例子是:

    使用polyfill,您可以在所有版本的Android 2.x上以canavs呈现SVG


    有关此方法的更完整示例,可以参考在Android2.x上使用KendoUIDataViz图表(基于SVG)的步骤。希望有帮助

    我刚刚为自己的TPSVG库创建了一个Github repo和示例repo,我最初是专门为自己的应用程序创建的

    有一个新的库(正在积极开发中),允许将svg图像直接合并到项目中。它的优点是定义了一个
    SVGImageView
    ,允许将svg直接合并到布局xml中

    最后,在android中包含svg是很简单的


    更多详细信息:

    我知道我的解决方案有点硬核,但它工作得很好,不需要任何外部库(至少在最终代码中不需要),而且速度非常快

    1) 就拿一个现有的SVG加载库来说,例如SVG-android-2(这是另一个答案中提到的SVG android的分支,只是有更多的功能和错误修复):

    2) 编写一个简单的应用程序,它除了加载和显示SVG图像之外,什么也不做

    3) 修改SVG加载库,以便它打印创建Picture类的Java代码或将其保存在字符串变量中

    4) 将通过这种方式获得的Java代码复制粘贴到您正在编写的应用程序中

    要获取有关此技术的更多信息并下载示例源代码,请访问我的博客:

    您可以从Google Play获得此技术的工作示例:

    以下是使用此技术创建的商业应用程序示例(米兰地铁地图):


    请注意地图加载的速度有多快,即使放大后看起来也很漂亮。

    我已经简单地看了一下。到目前为止,显示了我扔给它的所有svg文件。看起来很有希望。Android支持矢量绘图:

    还有一个Android SVG到矢量绘图的转换器: 退房。Android studio有一个将SVG文件转换为.XML文件的工具

    将AppCompat与ImageView(或ImageButton和FloatingActionButton等子类)一起使用时,您将能够使用新的app:srcCompat属性来引用向量可绘制文件(以及android:src可用的任何其他可绘制文件):


    从Android Support Library 23.3.0开始,只能通过app:srcCompat或setImageResource()加载支持向量可绘制文件。

    阅读:(阅读到最后)接受的答案在2012年5月10日是不正确的,因此不会遗漏,我将在这里添加一条注释(如@Todd的答案中所述)Android 3+支持SVG。因此,如果开发人员不担心较旧的Android设备,他们就没有必要担心库。在我的回答中,我指的是一个库,它使开发人员能够在应用程序中加载和呈现SVG文件。Android 3+增加了对SVG的浏览器支持,但在其开发人员API中没有SVG支持。不幸的是,这一点在Android 4.3中不适用。示例图像最终为空白。我使用的代码与Wiki教程页面中的代码完全相同。@BVB您需要关闭硬件加速,它才能在Android 4.x上工作。请参阅:谢谢,但这不会对其他地方产生负面影响吗?这个svg库实际上可以工作。svg android及其forks没有应用我在组中为组的子级定义的样式/css。这个有。谢谢。您好,我想知道对于ImageView,我是否能够更改svg图像运行时的颜色?以及支持库中的向后端口: