VectorDrawables 中的 android:tint 和 android:fillColor 有什么区别?

Abd*_*ery 7 xml android colors

通常当我们在 android studio 中创建一个新的 Vector Asset Clip Art 时,ide 创建一个像这样的 xml 代码

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:tint="#FFFFFF"
    android:height="24dp"
    android:viewportHeight="24.0"
    android:viewportWidth="24.0"
    android:width="24dp" 
    >
    <path 
      android:fillColor="#FF000000"
      android:pathData="M21,6h-2v9L6,15v2c0,0.55 0.45,1 1,1h11l4,4L22,7c0,-0.55 -0.45,-1 -1,-1zM17,12L17,3c0,-0.55 -0.45,-1 -1,-1L3,2c-0.55,0 -1,0.45 -1,1v14l4,-4h10c0.55,0 1,-0.45 1,-1z"/>
</vector>
Run Code Online (Sandbox Code Playgroud)

我们注意到有两个不同的属性具有颜色值 tintfillColor这些属性之间的差异是什么以及它们如何影响图标?

Tat*_*ize 2

填充颜​​色是路径填充的颜色。色调只是过滤该色调的颜色。它就像一个半透明的覆盖层,将像素推向该颜色。您可以轻松更改各种显示属性中的色调,而不必重新着色路径。它还可以让您更有效地重复使用不同配色方案的图标。