android用shape画虚线

1、在drawable中,新建shape_dot_line.xml


<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="line">
    
    <stroke
        android:width="1dp"
        android:color="#D5D5D5"
        android:dashGap="3dp"
        android:dashWidth="2dp"/>
    
    <size android:height="2dp"/>
shape>

2、在布局文件中引用

<View
    android:layout_width="match_parent"
    android:layout_height="2dp"
    android:background="@drawable/shape_dot_line"
    android:layerType="software"/>

注意:

1、height比较比stroke中的android:width的值要大,即大于1dp
2、不使用硬件加速:android:layerType="software"

总结一下小伙伴们的解决方法:

1.从android3.0开始,安卓关闭了硬件加速功能,所以就不能显示了,所以就是在 AndroidManifest.xml,或者是在activity中把硬件加速的功能关掉就可以了android:hardwareAccelerated=”false”或者是view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
2.一个小伙伴的翻译,说什么height要大于dashWidth才能显示。

你可能感兴趣的:(安卓工具基础代码库)