Android5.0之后系统支持了矢量图和矢量动画
为了兼容低版本的适配,Google提供了support-vector-drawable 和 support-animated-vector-drawable 支持库,新版的AS使用矢量图的时候,已经支持会自动检测警告了。
Gradle 2.0+ 启用矢量图

 android {     defaultConfig {       vectorDrawables.useSupportLibrary = true      }   }  

Gradle 2.0之前

android {  defaultConfig {    // Stops the Gradle plugin’s automatic rasterization of vectors    generatedDensities = []  }  // Flag to tell aapt to keep the attribute ids around  aaptOptions {    additionalParameters "--no-version-vectors"  }}

VectorDrawableCompat支持Api 7+
AnimatedVectorDrawableCompat支持Api 11+
当使用AppCompat和ImageView(或者其子类),xml中可以直接使用app:srcCompat来引用矢量资源,代码中和原来一样,AppCompat中设置代理类来处理。
如果是不使用AppCompat控件也可以,但是需要嵌套一层,做成StateListDrawable,InsetDrawable,LayerDrawable,LevelListDrawable,RotateDrawable之类的,因为它们在初始化的时候系统会先去查找Drawable,这个过程会在代码中出发代理类来搞定矢量图的加载。但是还是需要手动强制全局启用,AppCompat控件默认则不受限制。

static {//老版本的api,已删除//AppCompatDelegate.setCompatVectorFromSourcesEnabled(true)//新的apiAppCompatDelegate.setCompatVectorFromResourcesEnabled(true);}

当然如果怕麻烦其实还有一种方式就是让美工来做,把需要的图片放到一个集合做成ttf字体文件,使用图片的过程其实就是自定义字体的过程,这种最好是做小图标之类的。

更多相关文章

  1. android 2.3 & 4.2 Audio静音过程分析
  2. Android(安卓)4.2 BT系统之蓝牙关闭过程全跟踪
  3. MVC浅析(实际上应该是MVP,有时间再更新该博客)
  4. Android集成Zxing实现二维码扫描识别,过程、常见错误及修改
  5. Android(安卓)SSL BKS证书的生成过程
  6. Android(安卓)的init过程详解
  7. Android通话和数据传输过程分析
  8. Android(安卓)Studio报错:Error:Could not find com.android.tool
  9. Android(安卓)四大组件 - 进程的 fork 创建过程

随机推荐

  1. Android之进程与线程
  2. Android开发学习总结(一)——搭建最新版
  3. android 图形底层实现
  4. Android中的两种坐标系
  5. Android术语
  6. Android(安卓)studio相对布局的常用属性
  7. TensorFlow及OpenCV在Android中的实际应
  8. Android学习过程
  9. android手把手教你开发launcher(一)(Android
  10. #AndroidDevSummit,就在此刻!