Android三种方式生成矢量图之VectorDrawable类使用详解

生成矢量图VectorDrawable的三种方式

  • 第一种:

选中drawable文件夹,右键New --> Vector Asset --> 选中Clip Art ,在这里面可以选择一些矢量图 ,点击Next,然后 Finish即可。

  • 第二种:(前提:自己有一张svg或psd的图片)

选中drawable文件夹,右键New --> Vector Asset --> 选中Local file ,在这里面选择自己svg路径 ,点击Next,然后 Finish即可。

  • 第三种:

自己编写代码

静态VectorDrawable的使用

配置引用和参数

gradle文件种按下面配置:

android {
    defaultConfig {
        ...
        vectorDrawables.useSupportLibrary = true
    }

  ...

dependencies {
   ...

    implementation 'com.android.support:appcompat-v7:23.4.0'
}

注意:support:appcompat 必须在23.2以上的引用

在控件中使用

ImageView\ImageButtom


Android三种方式生成矢量图之VectorDrawable类使用详解_第1张图片

既然这样可以显示,那我们如法炮制,设置在Button上面会怎么样呢?

Android三种方式生成矢量图之VectorDrawable类使用详解_第2张图片

结果超出我们的想象,并不能达到我们预期的效果。原因是:Button是一个有不同状态的控件,为了程序的严谨性,所以无效。

那我们对他的每一个状态进行设置,可不可行呢?

在drawable文件夹下新建xml文件,名为demo

demo代码如下:



    
    

然后在Button里面引用:

然后运行:

原始状态:

Android三种方式生成矢量图之VectorDrawable类使用详解_第3张图片

按下状态:

Android三种方式生成矢量图之VectorDrawable类使用详解_第4张图片

ok,这就大功告成了。

这里要说明的一点,我这边呢,使用的Android Studio是目前最新的3.6.3,如果AndroidStudio版本较低的话,可能会出现闪退的现象。这是VectorDrawable的一个坑点。

解决方法:在相对应的Activity中加入以下代码即可

static{
        AppCompatDelegate
            .setCompatVectorFromResourcesEnabled(true);
    }    

此篇结束,下篇文章将继续讲解Android中使用动态的VectorDrawable

到此这篇关于Android三种方式生成矢量图之VectorDrawable类使用详解的文章就介绍到这了,更多相关Android VectorDrawable内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Android三种方式生成矢量图之VectorDrawable类使用详解)