如何勾勒出矢量可绘制对象的轮廓?

How to outline a vector drawable?

在我的应用程序中,我允许用户设置背景颜色和图像。因此,为了确保所有必要的信息和图标都可见,我使用了带有不同颜色阴影的文本。在xml.

中设置阴影属性很容易设置

但是,我找不到在矢量可绘制对象上绘制轮廓的方法。我发现了类似的问题,但答案或多或少是用阴影绘制矩形或正方形背景。这让我的情况看起来太丑了。我想勾勒出形状而不是将背景设置为带阴影的正方形。

我发现了一个窍门。令人惊讶的是它非常简单。

回答 1. 制作矢量可绘制对象的副本 - 给它命名为 diff。 2.改变xml

中的高度和宽度
<vector **android:height="28dp" android:width="28dp"**
    android:viewportHeight="24.0" android:viewportWidth="24.0" 
    xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="#56F0FF00" android:pathData="M1,21h4L5,9L1,9v12zM23,10c0,-1.1 -0.9,-2 -2,-2h-6.31l0.95,-4.57 0.03,-0.32c0,-0.41 -0.17,-0.79 -0.44,-1.06L14.17,1 7.59,7.59C7.22,7.95 7,8.45 7,9v10c0,1.1 0.9,2 2,2h9c0.83,0 1.54,-0.5 1.84,-1.22l3.02,-7.05c0.09,-0.23 0.14,-0.47 0.14,-0.73v-1.91l-0.01,-0.01L23,10z"/>
</vector>
  1. 现在将这个新的可绘制对象设置为背景(如果新的可绘制对象的尺寸小于原来的,则设置为前景)。确保使用适当的缩放比例以获得可绘制的轮廓。