我找到了无数的库,以便在Android中使用SVG图像,并避免令人沮丧的创建不同的分辨率和为每个分辨率删除文件。当应用程序有很多图标或图像时,这变得非常烦人。
在Android中使用SVG图像的最简单的使用库的一步一步的过程是什么?
我还使用Android Studio和Illustrator来生成我的图标和图像。
我找到了无数的库,以便在Android中使用SVG图像,并避免令人沮丧的创建不同的分辨率和为每个分辨率删除文件。当应用程序有很多图标或图像时,这变得非常烦人。
在Android中使用SVG图像的最简单的使用库的一步一步的过程是什么?
我还使用Android Studio和Illustrator来生成我的图标和图像。
当前回答
试试这个:
下一步:
现在编辑图像或图标名称并保存它:
其他回答
试试这个:
下一步:
现在编辑图像或图标名称并保存它:
更新:不要使用这个旧答案。最好使用Pallavi Jain的答案
我发现svg-android很容易使用,所以一步一步的说明如下:
Download the library from: https://code.google.com/p/svg-android/downloads/list. The latest version at the moment of writing this is: svg-android-1.1.jar Put the JAR file in the lib directory. Save your *.svg file in the res/drawable directory (in Illustrator, it is as easy as pressing Save as and select .svg) Code the following in your activity using the SVG library: ImageView imageView = (ImageView) findViewById(R.id.imgView); SVG svg = SVGParser.getSVGFromResource(getResources(), R.drawable.example); // The following is needed because of image accelaration in some devices, such as Samsung imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); imageView.setImageDrawable(svg.createPictureDrawable());
你可以像这样精简样板代码:
我很容易地做了一个简单的类来包含过去的代码并减少样板代码,如下所示:
import android.app.Activity;
import android.view.View;
import android.widget.ImageView;
import com.larvalabs.svgandroid.SVG;
import com.larvalabs.svgandroid.SVGParser;
public class SvgImage {
private static ImageView imageView;
private Activity activity;
private SVG svg;
private int xmlLayoutId;
private int drawableId;
public SvgImage(Activity activity, int layoutId, int drawableId) {
imageView = (ImageView) activity.findViewById(layoutId);
svg = SVGParser.getSVGFromResource(activity.getResources(), drawableId);
// Needed because of image acceleration in some devices, such as Samsung
imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
imageView.setImageDrawable(svg.createPictureDrawable());
}
}
现在我可以在activity中这样调用它:
SvgImage rainSVG = new SvgImage(MainActivity.this, R.id.rainImageView, R.drawable.rain);
SvgImage thunderSVG = new SvgImage(MainActivity.this, R.id.thunderImageView, R.drawable.thunder);
SvgImage oceanSVG = new SvgImage(MainActivity.this, R.id.oceanImageView, R.drawable.ocean);
SvgImage fireSVG = new SvgImage(MainActivity.this, R.id.fireImageView, R.drawable.fire);
SvgImage windSVG = new SvgImage(MainActivity.this, R.id.windImageView,R.drawable.wind);
SvgImage universeSVG = new SvgImage(MainActivity.this, R.id.universeImageView,R.drawable.universe);
尝试SVG2VectorDrawable插件。点击首选项→插件→浏览插件,安装SVG2VectorDrawable。这是伟大的转换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
右键单击可绘制目录,按New,然后转到Vector资产 将资产类型从剪贴画更改为本地 浏览文件 输入大小 然后单击“下一步”,然后单击“完成”
您可用的SVG图像将在可绘制目录中生成。