首页 > 代码库 > 补间动画实现(tween)
补间动画实现(tween)
1.补间动画的概念:
补间动画:只需要开发者设置好动画的开始与结束的关键帧 中间帧有喜用计算机补齐。
2.种类:分为4种: ①alpha 透明度 ②alpha 透明度 ③translate 位置移动 ④rotate 旋转动画
3.实现
① Java代码实现
1)alpha 透明度 AlphaAnimation
设置动画的透明度开始与结束 设置持续的时间。
2.scale 比例缩放 ScaleAnimation
设置缩放参照的中心轴(pivotyX,pivotyY)设置缩放开始的比例(x,y),结束的比例(x,y),
3)translate 位置移动
TranslateAnimation 设置动画的透明度开始(x,y)与结束(x,y) 设置持续的时间。
4).rotate 旋转动画
RotateAnimation 设置动画开始旋转的角度,结束时旋转的角度,并指定动画的持续时间,设置旋转的中心轴(pivotyX,pivotyY)
5).综合应用:AnimationSet,set.addAnimation(a);
② XMl文件实现 结合代码 res/anim
1).alpha 透明度<alpja></alpja>
2).scale 比例缩放 <scale></scale>
3).translate 位置移动<translate></translate>
4).rotate 旋转动画 <rotate></rotate>
综合应用:<set></set> 辅助类 AnimationUtils.loadAnimation(context, id);
4.案例:
1)创建xml文件进行4种方式的填写
2)以rotate方式为例,可以:
<?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:toDegrees="1800" android:pivotX="50%" android:pivotY="50%" android:duration="3000" android:fillAfter="true"></rotate>
3)进行界面上的动画设置:
public void clickRotate(View v) { rotateXml(); // rotateJava(); } private void rotateXml() { // 1.获取动画对象 Animation animation = AnimationUtils.loadAnimation(this, R.anim.rotate_tween); // 2.设置动画效果 imageView.setAnimation(animation); } public void rotateJava() { // 1.创建动画的透明度对象 RotateAnimation rotateAnimation = new RotateAnimation(0, 1800, 0, 50); // 2.为透明度动画对象设置值 rotateAnimation.setDuration(2000); rotateAnimation.setFillAfter(true); // 3.设置控件的动画 imageView.setAnimation(rotateAnimation); }
4)动画效果: