업데이트 : 이 오래된 대답을 사용 하지 말고 더 잘 사용하십시오 : https://stackoverflow.com/a/39266840/4031815
몇 시간의 연구 끝에 svg-android 가 사용하기 쉽다는 것을 알았으므로 단계별 지침을 여기에 남겨 둡니다.
https://code.google.com/p/svg-android/downloads/list 에서 lib를 다운로드 하십시오 .
작성 시점의 최신 버전은 다음과 같습니다.svg-android-1.1.jar
항아리를 lib
dir에 넣으십시오 .
* .svg 파일을 res/drawable
dir에 저장하십시오 (Illustrator에서는 다른 이름으로 저장을 누르고 svg를 선택하는 것만 큼 쉽습니다).
svg 라이브러리를 사용하여 활동에서 다음을 코딩하십시오.
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 accelaration in some devices such as samsung
imageView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
imageView.setImageDrawable(svg.createPictureDrawable());
}
}
이제 활동에서 다음과 같이 호출 할 수 있습니다.
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);