我找到了无数的库,以便在Android中使用SVG图像,并避免令人沮丧的创建不同的分辨率和为每个分辨率删除文件。当应用程序有很多图标或图像时,这变得非常烦人。
在Android中使用SVG图像的最简单的使用库的一步一步的过程是什么?
我还使用Android Studio和Illustrator来生成我的图标和图像。
我找到了无数的库,以便在Android中使用SVG图像,并避免令人沮丧的创建不同的分辨率和为每个分辨率删除文件。当应用程序有很多图标或图像时,这变得非常烦人。
在Android中使用SVG图像的最简单的使用库的一步一步的过程是什么?
我还使用Android Studio和Illustrator来生成我的图标和图像。
当前回答
您可以使用Coil库来加载SVG文件。只需在build.gradle文件中添加这些行:
// ... Coil (https://github.com/coil-kt/coil)
implementation("io.coil-kt:coil:0.12.0")
implementation("io.coil-kt:coil-svg:0.12.0")
然后添加一个扩展函数:
fun AppCompatImageView.loadSvg(url: String) {
val imageLoader = ImageLoader.Builder(this.context)
.componentRegistry { add(SvgDecoder(this@loadSvg.context)) }
.build()
val request = ImageRequest.Builder(this.context)
.crossfade(true)
.crossfade(500)
.data(url)
.target(this)
.build()
imageLoader.enqueue(request)
}
然后在你的活动或片段中调用这个方法:
your_image_view.loadSvg("your_file_name.svg")
其他回答
右键单击可绘制目录,按New,然后转到Vector资产 将资产类型从剪贴画更改为本地 浏览文件 输入大小 然后单击“下一步”,然后单击“完成”
您可用的SVG图像将在可绘制目录中生成。
而不是添加库增加你的APK文件大小,我将建议你转换SVG到可绘制使用Android SVG到VectorDrawable。
并添加vectorDrawables。useSupportLibrary = true在Gradle。
Android Studio从1.4开始支持SVG
这是一个关于如何导入的视频。
首先,您需要按照以下简单步骤导入SVG文件。
1. Right click on your project's drawable folder (app/res/drawable)
2. Click New
3. Select Vector Asset
如果图像在您的计算机上可用,则选择本地svg文件。
之后,选择图像路径。如果你愿意,在对话框的右侧也有一个选项可以改变图像的大小。通过这种方式,SVG图像被导入到项目中。
之后,使用此图像,使用相同的程序:
@drawable/ic_image_name
您可以使用Coil库来加载SVG文件。只需在build.gradle文件中添加这些行:
// ... Coil (https://github.com/coil-kt/coil)
implementation("io.coil-kt:coil:0.12.0")
implementation("io.coil-kt:coil-svg:0.12.0")
然后添加一个扩展函数:
fun AppCompatImageView.loadSvg(url: String) {
val imageLoader = ImageLoader.Builder(this.context)
.componentRegistry { add(SvgDecoder(this@loadSvg.context)) }
.build()
val request = ImageRequest.Builder(this.context)
.crossfade(true)
.crossfade(500)
.data(url)
.target(this)
.build()
imageLoader.enqueue(request)
}
然后在你的活动或片段中调用这个方法:
your_image_view.loadSvg("your_file_name.svg")