安卓矢量图中android:tint和android:fillColor有什么区别?

8
通常我们在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>

我们注意到,有两个不同的属性具有颜色值tintfillColor。这些属性之间有什么区别,它们如何影响图标?
1个回答

2

“Fill color”是路径填充的颜色,“Tint”只是过滤具有该色调的颜色。它就像半透明的叠加层,将像素向该颜色方向微调。您可以轻松更改各种显示属性中的色调,但不一定可以重新着色路径。这还将让您更有效地在不同的配色方案中重复使用图标。

“Fill color”指的是形状内部的颜色;而“Tint”则是基于原有颜色的柔化效果。类似于半透明的覆盖层,用于微调图片的颜色。您可以通过修改各种显示属性来轻松更改Tint,但并不一定能够重新着色路径。此外,这样做也会使您更有效地在不同的颜色方案中重复使用图标。


那我可以删除填充颜色属性,只使用色调吗? - Abdulmalek Dery
1
如果你这样做,它会用默认颜色填充。我想是黑色。然后色调就不会有太大的作用了。通常它们会做不同的事情。你需要用正确的颜色来填充它。然后,如果你有某种主题的东西,你可以应用一些色调。这完全取决于你想要做什么。 - Tatarize

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接