提问者:小点点

VectorDrawable-它是否可用于Android的前Lollipop版本?[关闭]


想要改进这个问题?更新问题,使其仅通过编辑这篇文章专注于一个问题。

我注意到Android现在支持某种矢量绘图,通过一个名为“VectorDrawable”的类(也支持BTW)。我通过查看Android-Studio上的新功能发现了这一点。

我想知道这是否是必须将多个文件放入多个文件夹(mdpihdpixhdpi等)的结束。这将很棒,并且在某些情况下可能会最小化应用程序大小。

我想问几个关于这个新班级的问题:

>

  • 是否可以在较旧的Android版本中使用它,甚至可以通过Google的支持库库?

    我不熟悉它的工作原理,但是Lollipop可以处理SVG文件吗?它可以做任何在SVG文件上可以实现的事情吗?

    除了我找到的留档之外,还有使用它的示例/教程/视频吗?


  • 共3个答案

    匿名用户

    通过Android支持库23.2.1更新,支持矢量绘图和动画矢量绘图。(您也可以使用latestone)

    请更新gradle文件中库的版本。

    compile 'com.android.support:recyclerview-v7:23.2.1'
    

    矢量绘图允许您用XML中定义的单个矢量图形替换多个png资源。虽然以前仅限于Lollipop和更高级别的设备,但VectorDrawable动画VectorDrawable现在可以通过两个新的支持库支持矢量绘图和动画矢量绘图。新的应用程序:srcCompat属性到参考矢量绘图。

    使用一些示例检查github上的源代码。

    v7 appcompat库的更改:

    恢复对向量资产的依赖,以便使用appcompat库的开发人员不会被迫使用VectorDrawable及其关联的构建标志。

    匿名用户

    更新2:他们在支持库23.4.0中再次启用它:

    对于AppCompat用户,我们添加了一个选择加入的API,通过AppCompatExator. setCompatVectorFromResourcesEnable(true)从资源中重新启用支持向量绘图(23.2中的行为)-请记住,这仍然会导致内存使用问题和更新配置实例的问题,因此默认情况下禁用它。

    检查此23.4.0现在可用

    更新:这在版本23.3.0中不起作用,请在此处查看详细信息。代理可绘制文件不起作用。app:srcCompatsetImageResource()可以工作。

    Vector Drawable支持可从版本23.2及更高版本的支持库中获得。但是,要正确使用这些可绘制文件,必须间接引用它们。

    第一步是提升AppCompat版本。

    compile 'com.android.support:appcompat-v7:23.2.0'
    

    第二次启用Vector Drawable支持。如果使用Gradle插件,2.0

    android {  
       defaultConfig {  
         vectorDrawables.useSupportLibrary = true  
       }  
    }
    

    否则的话

    android {  
       defaultConfig {  
         generatedDensities = []  
       }  
    
       aaptOptions {  
         additionalParameters "--no-version-vectors"  
       }  
    }
    

    第三,参考链接答案。

    匿名用户

    你可以试试这个支持库。它支持Lollipop中引入的VectorDrawable和动画VectorDrawable,具有完全向后兼容性。