1.一种基于安卓的视图动画生成方法,其特征在于,包括以下步骤:通过起点赋值模块对动画起点的各视图的属性赋值;
检测动画起点的各视图的属性;
检测动画终点的各视图的属性;
所述视图的属性包括以下属性值:渐变程度、旋转角度、缩放程度、中心点位置、位移、坐标、背景色、大小和/或文字颜色;
在动画持续时间以内,对于每一时刻按照如下步骤生成相应的动画图像:当前时刻传入插值器,插值器用于记录动画的变化规则,并根据当前时刻、动画持续时间以及插值器记录的动画变化规则计算当前时间对应的各视图的属性的变化进度百分比;
插值器可调用安卓自带插值器;
根据所述各视图的属性的变化进度百分比、所述动画起点的各视图的属性和动画终点的各视图的属性计算当前时刻的各视图的属性;
根据当前时刻的各视图的属性生成当前时刻的动画图像;
所述计算当前时刻的各视图的属性的具体实施方式包括:背景色:计算时会通过二进制“与”操作将数值拆分为高中低三段;
高位为三原色体系的红色值,数值范围为0x000000至0xff0000,计算结果为起点+进度百分比*0xff0000;
中位为三原色体系的绿色值,数值范围为0x000000至0x00ff00,计算结果为起点+进度百分比*0x00ff00;
低位为三原色体系的蓝色值,数值范围为0x000000至0x0000ff,计算结果为起点+进度百分比*0x0000ff;
计算完成后,会将高中低三段数据重新拼接成一个16进制数,并赋予视图,改变其背景色。
2.如权利要求1所述的基于安卓的动画生成方法,其特征在于,所述计算当前时刻的各视图的属性的具体实施方式还包括:
1)渐变程度:计算结果为进度百分比*1;
2)旋转角度:计算结果为进度百分比*1;
3)缩放程度:计算结果为进度百分比*1;
4)中心点位置:计算结果为进度百分比*1;
5)位移:计算结果为起点+进度百分比*(终点-起点);
6)坐标:计算结果为起点+进度百分比*(终点-起点);
7)大小:计算结果为起点+进度百分比*(终点-起点);
8)文字颜色:如果关联的视图是一个文本视图,则会计算并改变其文本的颜色,计算方式同背景色。
3.如权利要求1所述的基于安卓的动画生成方法,其特征在于,所述动画起点的各视图的属性其默认属性值为检测动画起点的各视图的属性时相应视图的属性值。
4.如权利要求1所述的基于安卓的动画生成方法,其特征在于,所述动画终点的各视图的属性其默认属性值为检测动画终点的各视图的属性时相应视图的属性值。
5.如权利要求1所述的基于安卓的动画生成方法,其特征在于,还包括以下步骤:在生成当前时刻的动画图像后,当所述当前动画的属性满足预设条件时,将所述当前动画的各视图的属性汇报给开发者。
6.一种基于安卓的动画生成系统,其特征在于,包括:起点赋值模块,用于对动画起点的各视图的属性赋值;
终点赋值模块,用于对动画终点的各视图的属性赋值;
计时器,用于记录的动画当前时间;
插值器,用于记录动画的变化规则并根据计时器记录的动画的当前时间、动画的变化规则计算变化进度百分比;插值器调用安卓自带插值器;
动画生成模块,用于根据插值器计算的变化进度百分比、动画起点的各视图的属性和动画终点的各视图的属性计算当前动画的各视图的属性并生成当前图像;所述起点赋值模块,用于对动画起点的各视图的以下属性值进行赋值:渐变程度、旋转角度、缩放程度、中心点位置、位移、坐标、背景色、大小和/或文字颜色;并将赋值后的各视图的属性作为动画的起点,优选所述起点赋值模块默认采用当前的各视图的属性其属性值进行赋值;所述终点赋值模块,用于对动画终点的各视图的以下属性值进行赋值:渐变程度、旋转角度、缩放程度、中心点位置、位移、坐标、背景色、大小和/或文字颜色;并将赋值后的各视图的属性作为动画的终点,优选所述终点赋值模块默认采用当前的各视图的属性其属性值进行赋值;
所述计算当前时刻的各视图的属性的具体实施方式包括:背景色:计算时会通过二进制“与”操作将数值拆分为高中低三段;
高位为三原色体系的红色值,数值范围为0x000000至0xff0000,计算结果为起点+进度百分比*0xff0000;
中位为三原色体系的绿色值,数值范围为0x000000至0x00ff00,计算结果为起点+进度百分比*0x00ff00;
低位为三原色体系的蓝色值,数值范围为0x000000至0x0000ff,计算结果为起点+进度百分比*0x0000ff;
计算完成后,会将高中低三段数据重新拼接成一个16进制数,并赋予视图,改变其背景色。
7.如权利要求6所述的基于安卓的动画生成系统,其特征在于,所述计算当前时刻的各视图的属性的具体实施方式还包括:
1)渐变程度:计算结果为进度百分比*1;
2)旋转角度:计算结果为进度百分比*1;
3)缩放程度:计算结果为进度百分比*1;
4)中心点位置:计算结果为进度百分比*1;
5)位移:计算结果为起点+进度百分比*(终点-起点);
6)坐标:计算结果为起点+进度百分比*(终点-起点);
7)大小:计算结果为起点+进度百分比*(终点-起点);
8)文字颜色:如果关联的视图是一个文本视图,则会计算并改变其文本的颜色,计算方式同背景色。
8.如权利要求6所述的基于安卓的动画生成系统,其特征在于,还包括:触发器,用于当所述当前动画满足预设条件时,将所述当前动画的各视图的属性汇报给开发者。