我找到了无数的库,以便在Android中使用SVG图像,并避免令人沮丧的创建不同的分辨率和为每个分辨率删除文件。当应用程序有很多图标或图像时,这变得非常烦人。
在Android中使用SVG图像的最简单的使用库的一步一步的过程是什么?
我还使用Android Studio和Illustrator来生成我的图标和图像。
我找到了无数的库,以便在Android中使用SVG图像,并避免令人沮丧的创建不同的分辨率和为每个分辨率删除文件。当应用程序有很多图标或图像时,这变得非常烦人。
在Android中使用SVG图像的最简单的使用库的一步一步的过程是什么?
我还使用Android Studio和Illustrator来生成我的图标和图像。
当前回答
尝试SVG2VectorDrawable插件。点击首选项→插件→浏览插件,安装SVG2VectorDrawable。这是伟大的转换svg文件到矢量绘图。
安装完成后,您将在工具栏帮助(?)图标的右侧找到一个图标。
其他回答
使用Coil库加载svg。注意,这个库是建立在Kotlin协程之上的。
导入扩展库:
implementation("io.coil-kt:coil-svg:2.1.0")
并在构造组件注册表时将解码器添加到组件注册表
ImageLoader:
val imageLoader = ImageLoader.Builder(context)
.components {
add(SvgDecoder.Factory())
}
.build()
就是这样!
点击这里了解更多信息。
1. 您需要将SVG转换为XML,以便在Android项目中使用。
1.1你可以用Android SVG to VectorDrawable做到这一点,但它不支持SVG的所有特性,比如一些渐变。
1.2你可以通过Android Studio进行转换,但它可能会使用一些只支持API 24及更高版本的功能,从而导致你的应用在旧设备上崩溃。
并添加vectorDrawables。在Gradle文件中使用useSupportLibrary = true,并像这样使用它:
<android.support.v7.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srcCompat="@drawable/ic_item1" />
2. 使用支持这些特性的SVG-Android库
在应用程序类中添加以下代码:
public void onCreate() {
SVGLoader.load(this)
}
然后像这样使用SVG:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_android_red"/>
首先,您需要按照以下简单步骤导入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
Android Studio从1.4开始支持SVG
这是一个关于如何导入的视频。
而不是添加库增加你的APK文件大小,我将建议你转换SVG到可绘制使用Android SVG到VectorDrawable。
并添加vectorDrawables。useSupportLibrary = true在Gradle。