Android自定义view绘制虚线
最近项目中有个需求,通过自定义view的方式绘制虚线
别的不多说先看一眼效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A3tuskSd-1584088203517)(https://i.imgur.com/TAWRgEb.png)]
这个需求在我们的开发中应该是一个很常见的需求了吧,有人会说有更简单的实现方式,对,但是你试过么,比如网上提到的这种方式
代码如下
这里写图片描述
看样子好像已经成功了,最后在把这个作为background加进去,
结果在真机上跑一圈,发现显示的竟然是一条实线,在好几台手机上试都是这样,都是一条实线,后来查资料发现需要加上一句话
android:layerType=”software” . android:shape="line"
完美解决
- 画水平虚线
1.直接建一个shape,设置stroke属性就行了,再将这个属性直接作为background的drawable属性引入就行了
注意在4.0以上的真机加一句
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<solid android:color="@color/red"></solid>
<stroke
android:dashWidth="10dp" //虚线的小线段长度
android:dashGap="10dp" //间隔距离
android:color="@color/app_color"
android:width="4dp"
/>
</shape>
2.布局xml文件中直接引用
<View
andr