2016-01-18 138 views
2

我使用矢量在xml中創建drawable。我能夠使用該路徑繪製矩形,但是當我試圖繪製完全垂直或水平的線時,它不顯示。 這裏是我的代碼矢量繪製不顯示垂直線

<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> 

這裏是預覽輸出 - enter image description here

回答

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> 
+0

我想這兩條線用不同顏色的兄弟!:( –

+0

似乎在那裏工作的唯一的東西是放0.001(或者如果你想絕對肯定,你可以更低,無論我放了多少零,它保持接受它)代替0.這絕對是一個錯誤,因爲使用h,H,v V也不起作用。我還沒有發現任何說SVG是如何設計的。 –

+1

更好的是,事實證明這個問題可能只與預覽。我做了一些測試,似乎水平線和垂直線在設備上顯示得很好 - 但這確實使預覽對這些形狀而言無用。 –