android svg矢量图使用步骤

一、布局添加应用内的svg资源图库方法

具体操作如下

**SVG图库链接:**

https://icons8.com/preloaders/en/circular
https://iconstore.co/redirect/?icon-pack=someicons
https://www.iconfont.cn/

  **首先要准备svg图片资源**
  1. 可以直接利用Android studio自带工具将svg格式文件转换成xml格式的路径文件;
    项目上鼠标右键—选择new,操作见图
  2. 选择自己准备好的svg文件,选好后点击路劲窗口的OK按钮,再点击next;操作见图
  3. 下面就是选择转换后的xml文件的存放位置了,确定好位置后直接finish就可以了
  4. 下面就是直接在布局文件中使用svg转换后的xml图文了,使用就跟我们直接引用shape图形一样了。
    使用效果见图

二、代码直接使用svg或者打开外部svg文件

**具体实现步骤如下:**
  1. 可以直接在android 项目引入解析库 implementation ‘com.caverock:androidsvg:1.4’
    操作

    dependencies {
    implementation fileTree(include: [’*.jar’], dir: ‘libs’)
    implementation ‘com.android.support:appcompat-v7:28.0.0’
    implementation ‘com.android.support.constraint:constraint-layout:1.1.3’
    implementation ‘com.android.support:support-v4:28.0.0’

    implementation 'com.caverock:androidsvg:1.4'

    }

  2. add内部svg资源方式实现的具体代码如下

 //根布局    root = findViewById(R.id.root);    //获取Uri格式的资源文件路径    Uri uri = Uri.parse(            ContentResolver.SCHEME_ANDROID_RESOURCE                    + "://"                    + getPackageName()                    + "/"                    + R.drawable.ic_bd04);    //创建svg转换库中定义的 ImageView    final SVGImageView svgImageView = new SVGImageView(this);    svgImageView.setImageURI(uri);    svgImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);    //将解析svg生成的ImageView添加到根布局界面    root.addView(svgImageView);
  1. add外部svg资源方式实现的具体代码如下
private SVGImageView getSVGImageView() {    final SVGImageView svgImageView = new SVGImageView(this);    File file = new File(filePath);    Uri uri = Uri.fromFile(file);    svgImageView.setImageURI(uri);    svgImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);    return svgImageView;}
*注意格式 Uri uri = Uri.parse("file:///storage/emulated/0/svg/bg03.svg");以上是直接使用引用库中的SVGImageView类直接把svg文件转换成ImageView的,SVGImageView是继承ImageView的扩展类。*

4.同样库中也提供了其它的转化和操作方式:

final SVGImageView svgImageView = new SVGImageView(this);SVG svg=SVG.getFromInputStream(new FileInputStream(uri.getPath()));svgImageView.setSVG(svg);svgImageView.setImageURI(uri);
可以通过SVG类直接操作文件流绑定SVGImageView,同样返回ImageView可以根据项目需要自己更改或者扩充库中的函数,当前只是根据需要做了预研,其它的功能和方式就没有单独去做验证。结合网络的svg加载可以结合使用Glide
*根据需要大家也可以去看看下面的文章https://blog.csdn.net/weixin_33826609/article/details/86877368Glide讲解 http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html*

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. android 动态创建View
  6. Activity实现自定义Dialog
  7. android TextView 更换字体
  8. Android按键事件——上层与驱动的映射
  9. Android(安卓)自定义TitleBar

随机推荐

  1. Android源码编译make的错误处理
  2. Android RadioButton 文字在左边
  3. GCM(5)Working with MAVEN and Android O
  4. Android开发―利用FrameLayout实现图标中
  5. RecycleView滚动条添加
  6. Android 获取标题栏的高度
  7. RotateAnimation 设置旋转中心点、不停顿
  8. Android:为控件绑定监听器
  9. 申请Android Maps API Key-及出现的错误
  10. 什么是aidl?Android(安卓)AIDL详解