在android上显示SVG文件 - 零大小的drawable?

时间:2015-04-27 07:23:00

标签: android svg

我使用svg-android库加载和显示SVG图像:

ImageView iv = (ImageView)findViewById(R.id.imgLoginLogo);

// Set the background color to white
iv.setBackgroundColor(Color.WHITE);

// Parse the SVG file from the resource
SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.android);

// Get a drawable from the parsed SVG and set it as the drawable for the ImageView
Drawable d = svg.createPictureDrawable();
iv.setImageDrawable(d);

问题是我得到的drawable是零维度,所以它是不可见的。

这里有什么问题?

由于

希蒙

1 个答案:

答案 0 :(得分:1)

我用它来创建一个drawable:

public static Bitmap createBitmap(InputStream in, int w, int h) {
    com.larvalabs.svgandroid.SVG svg = new SVGBuilder().readFromInputStream(in).build();

    Bitmap bitmap = Bitmap.createBitmap(w, h, Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    Picture pic = svg.getPicture();
    canvas.drawPicture(pic, new Rect(0, 0, w, h));
    return bitmap;
}

请注意,完成后必须小心回收位图。