想要改进这个问题?更新问题,使其仅通过编辑这篇文章专注于一个问题。
我注意到Android现在支持某种矢量绘图,通过一个名为“VectorDrawable”的类(也支持BTW)。我通过查看Android-Studio上的新功能发现了这一点。
我想知道这是否是必须将多个文件放入多个文件夹(mdpi
、hdpi
、xhdpi
等)的结束。这将很棒,并且在某些情况下可能会最小化应用程序大小。
我想问几个关于这个新班级的问题:
>
是否可以在较旧的Android版本中使用它,甚至可以通过Google的支持库库?
我不熟悉它的工作原理,但是Lollipop可以处理SVG文件吗?它可以做任何在SVG文件上可以实现的事情吗?
除了我找到的留档之外,还有使用它的示例/教程/视频吗?
通过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:srcCompat
和setImageResource()
可以工作。
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,具有完全向后兼容性。