这篇文章主要介绍了如何在Android中实现一个补间动画效果,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:
<强>补间动画强>
原形态变成新形态时为了过渡变形过程,生成的动画就叫补间动画
位移,旋转,缩放,透明
<强>位移:强>
参数10指的是X的起点坐标,但不是指屏幕X坐标为10的位置,而是imageview的真实X + 10
参数150指的是X的终点坐标,它的值是imageview的真实X + 150
//创建为位移动画对象,设置动画的初始位置和结束位置
<代码> TranslateAnimation ta=new TranslateAnimation(150, 140); 代码>
1只;x坐标的起点位置,如果相对于自己,传0.5 f,那么起点坐标就是真实x + 0.5 * 4宽度;
2只;x坐标的终点位置,如果传入2,那么终点坐标就是真实x + 2 * 4的宽度;
3只,y坐标的起点位置,如果传入0.5 f,那么起点坐标就是真实y + 0.5 * 4高度;
4只;y坐标的终点位置,如果传入2,那么终点坐标就是真实y + 2 * 4高度。
<代码>,TranslateAnimation ta=new TranslateAnimation(动画。RELATIVE_TO_SELF 0.5 f,动画。RELATIVE_TO_SELF 2动画。RELATIVE_TO_SELF 0.5 f,动画。RELATIVE_TO_SELF 2);
代码>
动画播放相关的设置
,//设置动画持续时间 ta.setDuration (2000); ,//动画重复播放的次数 ta.setRepeatCount (1); ,//动画重复播放的模式 ta.setRepeatMode (Animation.REVERSE); ,//动画播放完毕后,组件停留在动画结束的位置上 ta.setFillAfter(真正的); ,//播放动画 iv.startAnimation (ta);
<强>缩放:强>
1。参数0.1 f表示动画的起始宽度是真实宽度的0.1倍
2。参数4表示动画的结束宽度是真实宽度的4倍
3。第四缩放的中心点在左上角
<代码> ScaleAnimation sa=new ScaleAnimation (0.1 f, 4、0.1 f, 4); 代码>
1只;参数0.1 f和4意义与上面相同
2只;改变缩放的中心点:传入的两个0.5 f类型都是相对于自己,这两个参数改变了缩放的中心点
3只;中心点x坐标=真实x + 0.5 * 4宽度
4只;中心点Y坐标=真实Y + 0.5 * 4高度
<代码>,ScaleAnimation sa=new ScaleAnimation (0.1 f, 4、0.1 f 4动画。RELATIVETOSELF 0.5 f,动画。RELATIVETOSELF 0.5 f); 代码>
<强>透明:强>
0为完全透明,1为完全不透明
<代码> AlphaAnimation aa=new AlphaAnimation (0, - 0.5 f); 代码>
<>强旋转:强>
1只;20表示动画开始时的iv的角度
2只;360表示动画结束时iv的角度
3只;默认旋转的圆心在静脉左上角
<代码> RotateAnimation ra=new RotateAnimation (360),
代码>
1只;20360年的意义和上面一样
2只;指定圆心坐标,相对于自己,值传入0.5,那么圆心的x坐标:真实x +四世宽度* 0.5
3只;圆心的Y坐标:真实Y +第四高度* 0.5
<代码> RotateAnimation ra=new RotateAnimation(360、动画。RELATIVE_TO_SELF 0.5 f,动画。RELATIVE_TO_SELF 0.5 f); 代码>
<强>所有动画一起飞强>
,//创建动画集合 ,AnimationSet set =, new AnimationSet(假); ,//往集合中添加动画 ,set.addAnimation (aa); ,set.addAnimation (sa); ,set.addAnimation (ra); ,iv.startAnimation(集);
效果如图:
<强>布局代码:
强>
, xmlns:工具=?http://schemas.android.com/tools",, ,android: layout_width=癿atch_parent", ,android: layout_height=癿atch_parent", ,工具:上下文=?MainActivity"祝辞, ,& lt; ImageView ,android: id=癅 + id/iv", ,android: layout_width=皐rap_content", ,android: layout_height=皐rap_content", ,android: src=https://www.yisu.com/zixun/癅drawable/ic_launcher” android: layout_centerVertical=" true " android: layout_centerHorizontal=" true "/><按钮 android: layout_width=" wrap_content " android: layout_height=" wrap_content " android: onClick="翻译" android:文本="平移"/> <按钮 android: layout_width=" wrap_content " android: layout_height=" wrap_content " android: onClick="范围" android:文本="缩放"/> 如何在Android中实现一个补间动画效果