sra*_*ara 24 svg android android-drawable android-5.0-lollipop
这是在Android中处理图像的最佳方式.最近在Android Lollipop中我们已经支持SVG(可缩放矢量图形)概念.这是处理图像以支持所有分辨率PNG(将图像放置在特定可绘制资源中)或SVG(压缩得很好的小文件大小,缩放到任何大小而不会失去清晰度(除非非常小))的最佳方式.
ala*_*anv 22
Lollipop(API 21)不支持SVG.它通过VectorDrawable类支持SVG路径绘制功能的子集.appcompat目前不支持此类,因此仅在API 21上提供.
对于较旧的平台,您仍然需要PNG图像,因此理想的工作流程是将基于矢量的源图像导出到PNG以用于各种DPI存储桶,并使用svg2android等项目将API 21设备转换为VectorDrawable格式.
您可以使用 Android 支持库 23.2 或更高版本。支持库中的 VectorDrawableCompat 类允许您在 Android 2.1(API 级别 7)及更高版本中支持 VectorDrawable。为此,您需要在运行 Vector Asset Studio 之前更改 build.gradle 文件,如支持库向后兼容性中所述。
//For Gradle Plugin 2.0+
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
//For Gradle Plugin 1.5 or below
android {
defaultConfig {
// Stops the Gradle plugin’s automatic rasterization of vectors
generatedDensities = []
}
// Flag notifies aapt to keep the attribute IDs around
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
Run Code Online (Sandbox Code Playgroud)
为了在运行 Android 5.0(API 级别 21)之前版本的设备上支持 Vector Drawable 和 Animated Vector Drawable,VectorDrawableCompat 和 AnimatedVectorDrawableCompat 可通过两个新的支持库获得:support-vector-drawable 和 animation-vector-drawable。
Android Studio 1.4 通过在构建时生成 PNG 文件引入了对矢量可绘制对象的有限兼容性支持。但是,矢量可绘制和动画矢量可绘制支持库提供了灵活性和广泛的兼容性——它是一个支持库,因此您可以将它用于所有 Android 平台版本,回到 Android 2.1(API 级别 7+)。要将您的应用程序配置为使用矢量支持库,请将 vectorDrawables 元素添加到应用程序模块中的 build.gradle 文件中。