如何在心形可绘制 xml 中添加边框(描边)线

Posted

技术标签:

【中文标题】如何在心形可绘制 xml 中添加边框(描边)线【英文标题】:how to add border(stroke) line in heart shape drawable xml 【发布时间】:2019-01-22 09:52:54 【问题描述】: 如下所示,我绘制了类似心形的可绘制 xml 但我想添加边框线,如(笔画)

我遇到了一些困难如何添加该行

<path
    android:fillColor="#a39f9f"
    android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>

【问题讨论】:

添加android:strokeColorandroid:strokeWidth 您可以使用android:strokeWidthandroid:strokeColor 并删除fillColor。所有属性都应该在路径标签内 pathdata 只不过是我给出的形状..... how to create android:pathData?的可能重复 【参考方案1】:

试试这个

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:
    android:
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">

    <path
        android:fillColor="#a39f9f"
        android:strokeColor="#ff0"
        android:strokeWidth="2"
        android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>

</vector>

输出

【讨论】:

【参考方案2】:

您可以像在可绘制 xml 中一样在路径中添加 stroke 属性。请参见下面的示例。

<path android:fillColor="#417505" android:fillType="evenOdd"
    android:pathData="M11,0L11,0A11,11 0,0 1,22 11L22,11A11,11 0,0 1,11 22L11,22A11,11 0,0 1,0 11L0,11A11,11 0,0 1,11 0z"
    android:strokeColor="#000" android:strokeWidth="2"/>

【讨论】:

以上是关于如何在心形可绘制 xml 中添加边框(描边)线的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中为透明png图像添加描边/边框?

Xml:描边、边框、按钮内的轮廓文本

如何在相对布局中使用边框(可绘制)?

来自searchview的神秘线围绕editText

添加可绘制文件后Android按钮边框保持默认

可绘制矩形左边框上的垂直可绘制线?