Android贝塞尔曲线初步学习第二课仿QQ未读消息气泡拖拽黏连效果-创新互联

上一节初步了解了Android端的贝塞尔曲线,这一节就举个栗子练习一下,仿QQ未读消息气泡,是最经典的练习贝塞尔曲线的东东,效果如下

创新互联公司专注于企业营销型网站、网站重做改版、辽阳网站定制设计、自适应品牌网站建设、成都h5网站建设商城网站定制开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为辽阳等各大城市提供网站开发制作服务。

附上github源码地址:https://github.com/MonkeyMushroom/DragBubbleView


欢迎star~

大体思路就是画两个圆,一个黏连小球固定在一个点上,一个气泡小球跟随手指的滑动改变坐标。随着两个圆间距越来越大,黏连小球半径越来越小。当间距小于一定值,松开手指气泡小球会恢复原来位置;当间距超过一定值之后,黏连小球消失,气泡小球继续跟随手指移动,此时手指松开,气泡小球消失~

1、首先老一套~新建attrs.xml文件,编写自定义属性,新建DragBubbleView继承View,重写构造方法,获取自定义属性值,初始化Paint、Path等东东,重写onMeasure计算宽高,这里不再啰嗦~

2、在onSizeChanged方法中确定黏连小球和气泡小球的圆心坐标,这里我们取宽高的一半:

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
 super.onSizeChanged(w, h, oldw, oldh);
 mBubbleCenterX = w / 2;
 mBubbleCenterY = h / 2;
 mCircleCenterX = mBubbleCenterX;
 mCircleCenterY = mBubbleCenterY;
}

本文题目:Android贝塞尔曲线初步学习第二课仿QQ未读消息气泡拖拽黏连效果-创新互联
转载源于:http://scyanting.com/article/doedeg.html