UPDATE: Please notice this answer is from 2015, and there might better and easier ways to use svg in Android at the present moment. So take this answer with a grain of salt.
Ok sau khi một số giờ nghiên cứu tôi thấy svg-android là khá dễ dàng để sử dụng, vì vậy tôi rời khỏi đây hướng dẫn từng bước:
tải lib từ: https://code.google.com/p/svg-android/downloads/list phiên bản mới nhất tại thời điểm viết bài này là: svg-android-1.1.jar
Đặt jar trong lib
dir.
Lưu file * .svg của bạn trong res/drawable
dir (Trong minh hoạ là dễ dàng như nhấn Save as và chọn svg)
Mã sau đây trong hoạt động của bạn bằng cách sử dụng thư viện 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());
Bạn có thể giảm bớt mã boilerplate như thế này
Rất dễ dàng Tôi đã thực hiện một lớp đơn giản để chứa mã quá khứ và giảm mã soạn sẵn, như thế này:
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());
}
}
Bây giờ tôi có thể gọi nó như thế này trong hoạt động:
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);
Bản sao có thể có của [Thực tiễn tốt nhất để sử dụng biểu tượng SVG trên Android là gì?] (Http://stackoverflow.com/questions/9647770/what-are-best-practices-for-using -svg-icons-on-android) –