如何批量导入SVG图片

377 阅读1分钟

1.通过Android Studio批量导入

通过Android Studio可以导入,参考路径:Tools - Resource Manager - 点击+号 - Import Drawables

此种方式适合少量的svg导入,批量导入非常麻烦,推荐使用本文的第二种

2. 通过Svg2Vector批量导入

实际上,可以利用Android Studio IDE的源码来处理这个:

2.1 新建java library

在Android Studio中新建Module,选择Java or Kotlin Library

2.2 build.gradle中增加依赖

dependencies {  
    implementation 'com.android.tools:sdk-common:31.6.0'  
}

2.3 新建java class

新建java class,如ImportSVGUtil.java,调用com.android.ide.common.vectordrawable.Svg2Vector即可:

public class ImportSVGUtil {  
    public static void main(String args[]) {  
        File src = new File("D:\\test.svg");  
        File dest = new File("D:\\MyProject\\app\\src\\main\\res\\drawable\\test.xml");  
        svg2Vector(src, dest);  
    }  
  
    private static void svg2Vector(File src, File dest) {  
        if (!dest.exists()) {  
            File parent = dest.getParentFile();  
            if (!parent.exists()) {  
                parent.mkdirs();  
            }  
            try {  
                dest.createNewFile();  
            } catch (IOException e) {  
                throw new RuntimeException(e);  
            }  
        }  
        try (FileOutputStream fous = new FileOutputStream(dest)) {  
            Svg2Vector.parseSvgToXml(Paths.get(src.getAbsolutePath()), fous);  
        } catch (Exception ignore) {  
            System.err.println("error" + ignore);  
        }  
    }  
}

若有批量转换需求,改下参数即可。执行完毕之后,即可直接将原始svg转为Android所需的vector svg

前人栽树后人乘凉,感谢大佬: github.com/ravibhojwan… github.com/ravibhojwan…