牙叔教程简单易懂
这种移动背景的效果,怎么做呢?我们把背景看成一个小球,小球可以在某个空间内自由移动,他需要一个目标的坐标信息,
然后需要一个从当前的起点,到目标点的移动规则,
小球也可以在移动的时候变换形态,比如圆形,椭圆,圆角矩形等
小球可以活动的空间,我们可以看成是一个父控件,小球只能在父控件的宽高之内移动;
小球的移动规则,对应的是加速度,这个由属性动画控制;
小球的角色是当某个控件的背景,比如文字控件,他的半径,或者说,宽高,是由文字控件的宽高决定的
基本分析完成,我们设计一下对应的接口父控件有宽高,width,height
小球要移动,有起点和目标点,startPoint,targetPoint
小球的加速度,内部用属性动画即可,需不要暴露接口
小球的宽高,由文字控件决定,文字控件的宽高有的一样,有的不一样,targetViewWidth
未来我们要把小球绑定到导航栏之类的做背景使用,未来在说未来,我们先把当前基本的搞好
移动背景的实现方式有两种父子控件,两个控件
单个控件,内部用canvas绘制
我觉得两个控件消耗大,我们选择第二种开始写代码第一步:写一个基本的自定义控件自定义控件的基本方法可以看这篇教程autojs自定义组件