在Android中使用svg最简单的方法?

前端之家收集整理的这篇文章主要介绍了在Android中使用svg最简单的方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为了在 Android中使用svg,我发现了大量的图书馆,并避免了令人沮丧的创建不同的分辨率,并为每个分辨率丢弃文件,这在应用程序有很多图标或图像时变得非常烦人.

任何人都可以像Android一样使用最简单的使用SVG的一步一步的过程,我相信这也将帮助许多其他人.

此外,我还使用Android Studio和Illustrator来生成我的图标和图像.

编辑:

底部添加答案给那些感兴趣的人.

解决方法

好的,经过几个小时的研究,我发现svg-android很容易使用,所以我一步一步的说明:

>下载lib从:https://code.google.com/p/svg-android/downloads/list
撰写本文时最新版本是:svg-android-1.1.jar
>将jar放在lib目录下.
>将您的* .svg文件保存在res / drawable dir中(在插画中,按Save as as save as as select svg)
>使用svg库在您的活动中编写以下内容

  1. ImageView imageView = (ImageView) findViewById(R.id.imgView);
  2. SVGParser svg = SVGParser.getSVGFromResource(getResources(),R.drawable.example);
  3. //The following is needed because of image accelaration in some devices such as samsung
  4. imageView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
  5. imageView.setImageDrawable(svg.createPictureDrawable());

您可以减少这样的样板代码

很简单,我做了一个简单的类来包含过去的代码,并减少了样板代码,像这样:

  1. import android.app.Activity;
  2. import android.view.View;
  3. import android.widget.ImageView;
  4.  
  5. import com.larvalabs.svgandroid.SVG;
  6. import com.larvalabs.svgandroid.SVGParser;
  7.  
  8. public class SvgImage {
  9.  
  10. private static ImageView imageView;
  11. private Activity activity;
  12. private SVG svg;
  13. private int xmlLayoutId;
  14. private int drawableId;
  15.  
  16.  
  17. public SvgImage(Activity activity,int layoutId,int drawableId) {
  18. imageView = (ImageView) activity.findViewById(layoutId);
  19. svg = SVGParser.getSVGFromResource(activity.getResources(),drawableId);
  20. //Needed because of image accelaration in some devices such as samsung
  21. imageView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
  22. imageView.setImageDrawable(svg.createPictureDrawable());
  23. }
  24. }

现在我可以在活动中这样称呼:

  1. SvgImage rainSVG = new SvgImage(MainActivity.this,R.id.rainImageView,R.drawable.rain);
  2. SvgImage thunderSVG = new SvgImage(MainActivity.this,R.id.thunderImageView,R.drawable.thunder);
  3. SvgImage oceanSVG = new SvgImage(MainActivity.this,R.id.oceanImageView,R.drawable.ocean);
  4. SvgImage fireSVG = new SvgImage(MainActivity.this,R.id.fireImageView,R.drawable.fire);
  5. SvgImage windSVG = new SvgImage(MainActivity.this,R.id.windImageView,R.drawable.wind);
  6. SvgImage universeSVG = new SvgImage(MainActivity.this,R.id.universeImageView,R.drawable.universe);

猜你在找的Android相关文章