Android L无法将虚线作为可绘制背景绘制。

6

Android L不能将虚线作为可绘制的背景��如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item> 
<shape  android:shape="line" >

    <stroke
        android:dashGap="1dp"
        android:dashWidth="1dp"
        android:color="#999999" />

    <size android:height="1dp" />

    </shape>
</item>
</selector>

我也在xml中使用了layerType='software'。请帮忙。


你尝试过添加描边宽度吗? - alanv
1个回答

14

1. 视图的高度必须至少为2dp(或wrap_content),以便它能够显示,因为描边是设计在视图周围的,而在1dp中没有足够的空间进行描边。

2. 在您的xml中添加宽度:

<stroke
    android:width="1dp"
    android:dashGap="1dp"
    android:dashWidth="1dp"
    android:color="#999999" />

<size android:height="1dp" 
    android:width="1dp"/>

3.使用 layerType='software'


1
在 Android 5.0 及更高版本中,stroke 中的 android:width="1dp" 是必须的。 - AppiDevo
嗨,Itai,你的示例中size声明不正确。如果shape中的stroke具有1dpwidth,则其size必须至少具有2dp的高度。同样,如果shape中的stroke具有1dpdashWidth,则其size必须至少具有3dp的宽度。 - Adil Hussain

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