Android自定义view的方式绘制虚线

本文介绍了如何在Android中通过自定义View来实现虚线的绘制。首先展示了自定义View的需求背景,然后详细讲解了实现步骤,包括继承View、创建自定义属性文件、在布局中使用以及定义引用控件。文章还探讨了使用shape drawable作为background的限制,并给出了通过自定义View克服这些限制的方法,最终达到理想的虚线效果。
摘要由CSDN通过智能技术生成

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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值