2

我正在使用矢量在 xml 中创建可绘制对象。我可以使用路径绘制一个矩形,但是当我尝试绘制一条完全垂直或水平的线时,它没有显示。这是我的代码

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

    <path
        android:strokeWidth="1"
        android:strokeColor="#c1ae1e"
        android:pathData="M0 0,H24,V24,H0,V0"/>

    <path
        android:strokeWidth="3"
        android:strokeColor="#4c4c4c"
        android:fillColor="#36352c"
        android:pathData="M12 0,L12 24"/>

    <path
        android:strokeWidth="3"
        android:strokeColor="#4c4c4c"
        android:fillColor="#36352c"
        android:pathData="M0 12,L24 12"/>

</vector>

这是预览输出- 在此处输入图像描述

4

1 回答 1

1

尝试将其组合成一条路径。我不知道为什么,但是只有两个点的完全水平或垂直线不会渲染。由于我必须制作一个十字形,我能够像这样组合垂直线或水平线:

    <path
    android:strokeColor="#FF000000"
    android:strokeWidth="0.5"
    android:pathData="M14,0 l0,28 M0,14 l28,0"/>

如果您制作的弧线计算为直线,也会发生这种情况(大多数人不会这样做,但我在更改弧线值时已经看到它,并且可能与线条不显示的原因有关)

试试这个:

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

    <path
        android:strokeWidth="1"
        android:strokeColor="#c1ae1e"
        android:pathData="M0 0,H24,V24,H0,V0"/>

    <path
        android:strokeWidth="3"
        android:strokeColor="#4c4c4c"
        android:fillColor="#36352c"
        android:pathData="M12 0,L12 24 M0 12,L24 12"/>

</vector>
于 2016-01-19T18:39:34.777 回答