为什么矢量可绘制比例没有按预期缩放?
我正在尝试在Android应用程序中使用矢量可绘制对象。从http://developer.android.com/training/material/drawables.html(重点是我): 在Android 5.0(API级别21)及更高版本中,您可以定义矢量可绘制对象,这些对象可缩放而不会丢失定义。 使用此可绘制对象: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:width="24dp" android:viewportWidth="24" android:viewportHeight="24"> <path android:fillColor="@color/colorPrimary" android:pathData="M14,20A2,2 0 0,1 12,22A2,2 0 0,1 10,20H14M12,2A1,1 0 0,1 13,3V4.08C15.84,4.56 18,7.03 18,10V16L21,19H3L6,16V10C6,7.03 8.16,4.56 11,4.08V3A1,1 0 0,1 12,2Z" /> 这个ImageView: <ImageView android:layout_width="400dp" android:layout_height="400dp" android:src="@drawable/icon_bell"/> 尝试以400dp(在运行棒棒糖的大约2015年移动设备上较大的高分辨率)上显示图标时,产生此模糊图像: 将可绘制矢量的定义中的宽度和高度更改为200dp,可以显着改善400dp渲染大小时的情况。但是,将其设置为TextView元素的可绘制对象(即,文本左侧的图标)现在会创建一个巨大的图标。 我的问题: 1)为什么在矢量可绘制对象中有宽度/高度规范?我认为这些的全部目的是它们无损地进行缩放,从而使宽度和高度的定义毫无意义吗? 2)是否可以使用单个矢量可绘制对象,它在TextView上可作为24dp可绘制对象,但是可以很好地缩放以使用更大的图像?例如,如何避免创建多个不同大小的矢量可绘制对象,而是使用一个可按我的渲染要求缩放的矢量可绘制对象? 3)如何有效使用width / height属性,以及viewportWidth / Height有何区别? 额外细节: 设备正在运行API 22 将Android Studio …