【Android自定义View实战01】仿微信读书APP滑动指示条

文章详细介绍了如何在读书APP中创建一个弹窗,当滑动时顶部的指示条会弯曲成箭头形状。通过分析和实现过程,解释了利用Path和Paint的setStrokeJoin方法处理圆角,以及根据弯曲比例计算高度和绘制图形的方法。最终通过调整弯曲比例实现动态效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看一下读书APP的效果:

弹窗往下滑动时,顶部的指示条也会跟着向下弯曲变成箭头形状。

分析

话不多说,先来给指示条做个X光检查看看:

  1. 未滑动时指示条就是一个普通的圆角矩形
  2. 滑动时是一个箭头,箭头的两端是两个圆

指示条从点S滑动到点T过程中,圆L圆K的切线相交形成箭头。箭头通过Path圆心L点T圆心K连接起来,拐角处还需要处理为圆角,可以使用PaintsetStrokeJoin()方法,该方法设置线段连接处的样式,取值有三个:

 

java

复制代码

Paint.Join.MITER //锐角 Paint.Join.Round //圆弧 Paint.Join.BEVEL //直线

这里取Round,该值的处理方式是以点T为圆心、指示条高度的一半为半径画圆弧,连接拐角,如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值