Android开发笔记之动画Animation

AlphaAnimation
① AlphaAnimation类对象定义
1
private AlphaAnimation myAnimation_Alpha;

② AlphaAnimation类对象构造    

1
2
3
4
5
6
7
AlphaAnimation(float fromAlpha, float toAlpha)
//第一个参数fromAlpha为 动画开始时候透明度
//第二个参数toAlpha为 动画结束时候透明度
myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f);
//说明:
// 0.0表示完全透明
// 1.0表示完全不透明
1
2
myAnimation_Alpha.setDuration(5000);
//设置时间持续时间为 5000毫秒

③ 设置动画持续时间


1
2
myAnimation_Alpha.setDuration(5000);
//设置时间持续时间为 5000毫秒
动画初始化内容
privatevoid showAlphaAnimation(){
     AlphaAnimationanimation = newAlphaAnimation(1,0);
    animation.setDuration(2000);
    animation.setRepeatCount(3);
    animation.setRepeatMode(Animation.RESTART);
    animation.setFillAfter(true);
    animation.start();
    view.setAnimation(animation);
     }

 B.ScaleAnimation 
① ScaleAnimation类对象定义
1
private AlphaAnimation myAnimation_Alpha;
 ② ScaleAnimation类对象构造
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
ScaleAnimation(float fromX, float toX, float fromY, float toY,
int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
//第一个参数fromX为动画起始时 X坐标上的伸缩尺寸
//第二个参数toX为动画结束时 X坐标上的伸缩尺寸
//第三个参数fromY为动画起始时Y坐标上的伸缩尺寸
//第四个参数toY为动画结束时Y坐标上的伸缩尺寸
/*说明:
以上四种属性值
0.0表示收缩到没有
1.0表示正常无伸缩
值小于1.0表示收缩
值大于1.0表示放大
*/
//第五个参数pivotXType为动画在X轴相对于物件位置类型
//第六个参数pivotXValue为动画相对于物件的X坐标的开始位置
//第七个参数pivotXType为动画在Y轴相对于物件位置类型
//第八个参数pivotYValue为动画相对于物件的Y坐标的开始位置
myAnimation_Scale =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
③ 设置动画持续时间
1
2
myAnimation_Scale.setDuration(700);
//设置时间持续时间为 700毫秒 

C.TranslateAnimation

① TranslateAnimation类对象定义

1
private AlphaAnimation myAnimation_Alpha;

       ② TranslateAnimation类对象构造

1
2
3
4
5
6
TranslateAnimation(float fromXDelta, float toXDelta,
float fromYDelta, float toYDelta)
//第一个参数fromXDelta为动画起始时 X坐标上的移动位置
//第二个参数toXDelta为动画结束时 X坐标上的移动位置
//第三个参数fromYDelta为动画起始时Y坐标上的移动位置
//第四个参数toYDelta为动画结束时Y坐标上的移动位置

       ③ 设置动画持续时间

1
2
myAnimation_Translate.setDuration(2000);
//设置时间持续时间为 2000毫秒


 D.RotateAnimation

     ① RotateAnimation类对象定义

1
private AlphaAnimation myAnimation_Alpha;

       ② RotateAnimation类对象构造

1
2
3
4
5
6
7
8
9
10
RotateAnimation(float fromDegrees, float toDegrees,
int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)
//第一个参数fromDegrees为动画起始时的旋转角度
//第二个参数toDegrees为动画旋转到的角度
//第三个参数pivotXType为动画在X轴相对于物件位置类型
//第四个参数pivotXValue为动画相对于物件的X坐标的开始位置
//第五个参数pivotXType为动画在Y轴相对于物件位置类型
//第六个参数pivotYValue为动画相对于物件的Y坐标的开始位置
myAnimation_Rotate=new RotateAnimation(0.0f, +350.0f,
Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);

       ③ 设置动画持续时间

1
2
myAnimation_Rotate.setDuration(3000);
//设置时间持续时间为 3000毫秒


//让我们的图片围绕一个点旋转
     privatevoid showRotateAnimation(){
            RotateAnimationanimation = new      RotateAnimation(0,720,Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f);
            setAnimationAtrr(animation, 3000);
           animation.start();
           view.setAnimation(animation);
     }
六个参数的意思:
float fromDegrees 起始从多少度开始
float fromDegree: 转到多少度的位置
int pivoXType

2.动态动画补间动画
new 上面四个类中的任意一个 在构造方法中设置xy参数
对象调用一些set方法去设置一些属性,例如动画的执行时长,动画的重复次数
启动start()
调用imageView.setAnimation()

3.补间动画的应用
给ACtivity跳转的时候添加动画
acivity类中的一个方法 overridependingtransiion(in,out);


2.Frame动画 帧动画

animationdrawable
动态 :for循环把图片加载到animaiondrawable对象中
imageview.setbackgrounddrawable设置animationdrawable对象
最后调用animaiondrawable.start方法
帧动画和补间动画的启动
帧动画先设置背景资源在启动
补间动画先启动再调用setanimation

静态:
在drawable资源文件夹中 创建一个节点是animattion-list的配置文件
在配置文件中添加<item/>并设置drawable属性和duration属性
在布局文件中的imageview.getbackground得到一个animationdrawable的对象
最后调用animatiiondrawable.start方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值