首先上效果图
功能有:
1. 可以随时拖拉
2. 拖拉超过一定距离会监听
3. 拖拉返回的时候,有来回反弹效果
此效果先是参照了网上github两个版本的效果。不过都不是自己想要那么理想。
1.其中有一个是两层,一层是textview控件和一层surfaceview。经测试效果不错,但是效率不高,在刚点击的有闪动现象。会跳帧。于是放弃这种方法。不过它能够全屏拖拉。
2另一个的实现方法很赞,全程一个view就完事,全部自绘,没有用控件。而且贝塞尔曲线就是中间那个瘦瘦的,随着距离越来越瘦的,是两条贝塞尔曲线夹着,而且用自带的Path绘制非常方便。比第一种实现简单,但是致命弱点是,不能全屏拖拉,一旦父级区域被限定,拖拉范围不能超过父级。
3。 于是吸取这两种的精华,然后做了现在这个, 代码精简,还加了松手的反弹动画。自我感觉还不错,高手不要见笑。
下面是github源码:
https://github.com/younfor/BubbleDrag
转载请注明来自younfor.com
时间: 2024-10-20 20:08:12