前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 学习之补间(Tween)动画

Android 学习之补间(Tween)动画

作者头像
DragonKingZhu
发布2022-05-08 16:40:08
5060
发布2022-05-08 16:40:08
举报

补间动画,就是开发者只需要指定动画的开始,动画的结束的“关键帧”,而动画变化的“中间帧”由系统计算,并且补齐。这就是补间动画。

补间动画共分为四类:

AlphaAnimation(透明动画),ScaleAnimation(缩放动画),TranslateAnimation(位移动画),RoateAnimation(旋转动画)

我们依次学习。

a:透明动画

代码语言:javascript
复制
   public void AlphaAnimation(View v)
    {
    	//0:代表的是全透明,1代表的是全不透明
    	aa = new AlphaAnimation(0, 1);
    	//持续时间2s
    	aa.setDuration(2000);
    	//开始播放动画
    	iView.startAnimation(aa);
    }

透明动画只需要设置开始的透明度,和结束的透明度,以及设置的动画延迟时间就行。

b:缩放动画

代码语言:javascript
复制
public void ScaleAnimation(View v)
    {
    	/* 1:代表x坐标的初始值 = 1*iView的宽
    	 * 3:代表x坐标的缩放位置 = 3*iView的宽
    	 * 默认的缩放原点是左上角
    	 * */
    	//sa = new ScaleAnimation(1, 3, 1, 3);
    	
    	//iView.getWidth()/2, iView.getHeight()/2: 可以修改缩放的原点,是以ImageView的中心作为缩放点
    	//sa = new ScaleAnimation(0, 3, 0, 3, iView.getWidth()/2, iView.getHeight()/2);
    	
    	
    	//Animation.RELATIVE_TO_SELF, 1:代表缩放点的x坐标 = iView的真实x+1*iView的宽度
    	//Animation.RELATIVE_TO_SELF, 1:代表缩放点的y坐标  = iView的真实y+1*iView的高度
    	sa = new ScaleAnimation(0, 2, 0, 2, Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 1);
    	
    	//设置延迟时间
    	sa.setDuration(2000);
    	
    	iView.startAnimation(sa);
    }

缩放动画有3个重构方法,每个方法的参数都是不一样的,建立大家试着设置几个值试试,就明白其中的含义了。

c:位移动画

代码语言:javascript
复制
    public void TranslateAnimation(View  v)
    {
    	//0:表示x坐标的开始位置 = iView的真实x + 0
    	//ta = new TranslateAnimation(0, 100, 0, 100);
    	
    	//Animation.RELATIVE_TO_SELF, 1:表示x的开始坐标 = iView的真实x + iv宽*1
    	ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 1, 
    			 Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 1);
    	ta.setDuration(2000);
    	
    	iView.startAnimation(ta);    	
    	
    }

位移动画有两种构造方法,具体还需自己尝试尝试

d:旋转动画

代码语言:javascript
复制
    public void  RotateAnimation(View  v)
    {	
    	//旋转开始角度和结束角度
    	//ra = new RotateAnimation(0, -15);
    	
    	//ra = new RotateAnimation(20, 360, iView.getWidth()/2, iView.getHeight()/2);
    	
    	ra = new RotateAnimation(0, 90, Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 1);
    	
    	ra.setDuration(2000);
    	iView.startAnimation(ra);
    }

总结:补间动画只需要记住三个重要元素即可, 开始坐标,结束坐标,以及动画播放时间就可以了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档