为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Android API下21中使用矢量可绘制对象?

如何在Android API下21中使用矢量可绘制对象?

德玛西亚99 2019-10-18 10:17:36
我正在开发一个Android项目,因此选择<vector>显示图标,因为它具有适应性和动态性,但是我只能在运行Android且具有API 21或更高版本的设备上运行此应用程序。我的问题是如何<vector>在较低的Android版本(即API 14或更高版本)上使用。谢谢!<!-- drawable/ic_android_debug_bridge.xmlxml --><vector xmlns:android="http://schemas.android.com/apk/res/android"android:height="48dp"android:width="48dp"android:viewportWidth="24"android:viewportHeight="24"><path android:fillColor="@color/primaryColorDark"    android:pathData="M15,9A1,1 0 0,1 14,8A1,1 0 0,1 15,7A1,1 0 0,1 16,8A1,1 `0 0,1 15,9M9,9A1,1 0 0,1 8,8A1,1 0 0,1 9,7A1,1 0 0,1 10,8A1,1 0 0,1 9,9M16.12,4.37L18.22,2.27L17.4,1.44L15.09,3.75C14.16,3.28 13.11,3 12,3C10.88,3 9.84,3.28 8.91,3.75L6.6,1.44L5.78,2.27L7.88,4.37C6.14,5.64 5,7.68 5,10V11H19V10C19,7.68 17.86,5.64 16.12,4.37M5,16C5,19.86 8.13,23 12,23A7,7 0 0,0 19,16V12H5V16Z" /></vector>`
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

支持库支持Lollipop之前的VectorDrawable,但使用它们的方式取决于您所拥有的支持库的版本。而且它不一定在所有情况下都有效。


我制作了此图来提供帮助(对于支持库23.4.0至-至少-25.1.0有效)。


//img1.sycdn.imooc.com//5da920e10001364008141287.jpg

查看完整回答
反对 回复 2019-10-18
?
长风秋雁

TA贡献1757条经验 获得超7个赞

借助23.2支持库,一直到API v7一直对Vector Drawable提供真正的支持。建议通过添加以下内容来禁用该支持的先前版本:该支持在构建期间呈现PNG


// Gradle Plugin 2.0+

 android {

   defaultConfig {

     vectorDrawables.useSupportLibrary = true

    }

 }

到build.gradle文件。


实现非常简单。Drawables中有一个新的srcCompat属性:


<ImageView

  android:layout_width="wrap_content"

  android:layout_height="wrap_content"

  app:srcCompat="@drawable/ic_add" />    <= this is new

在诸如TextView的drawableLeft属性的情况下,也支持Vector Drawable 。


但是,我仍然建议使用Iconics库,AndroidSVG或其他字体图标或SVG解决方案,以全面支持SVG标准。


查看完整回答
反对 回复 2019-10-18
  • 3 回答
  • 0 关注
  • 426 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信