首页 > 移动平台 > 详细

Android学习—动画(平移动画)

时间:2016-02-24 18:58:01      阅读:422      评论:0      收藏:0      [点我收藏+]

用XML文件来设置平移动画

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <set xmlns:android="http://schemas.android.com/apk/res/android">
 3 
 4     <!--
 5         startOffset:动画开始前的延迟时间
 6         interpolator:加速器用来设置一些平移的动画效果
 7         fromXDelta:X左边的初始位置
 8         toXDelta:X左边的结束位置
 9         fromYDelta:Y坐标的初始位置
10         toYDelta:Y坐标的结束位置
11     -->
12     <translate
13         android:startOffset="@android:integer/config_longAnimTime"
14         android:interpolator="@android:anim/accelerate_interpolator"
15         android:fromXDelta="0"
16         android:toXDelta="0"
17         android:fromYDelta="-200"
18         android:toYDelta="800"
19         android:duration="2000"
20         android:repeatCount="2"
21         />
22 </set>
 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
 3     android:layout_height="match_parent"
 4     tools:context="com.test2_23.test2_23.xml_deltaActivity">
 5 
 6     <ImageView
 7         android:id="@+id/delta_xml_img"
 8         android:src="@drawable/img_bird"
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content" />
11 </RelativeLayout>
 1 public class xml_deltaActivity extends Activity {
 2 
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_xml_delta);
 7         ImageView iv = (ImageView) findViewById(R.id.delta_xml_img);
 8         //获取动画文件
 9         Animation animation = AnimationUtils.loadAnimation(this,R.anim.animation_delta);
10         iv.clearAnimation();
11         iv.startAnimation(animation);
12     }
13 }

 使用Java代码的方式实现平移动画

 1 public class delta_javaActivity extends Activity {
 2 
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_delta_java);
 7         AnimationSet set = new AnimationSet(true);
 8         ImageView img = (ImageView) findViewById(R.id.delta_java_img);
 9         //初始化一个平移动画使用的是TranslateAnimation类
10         //构造方法的参数分别是fromXDelta,toXDelta,fromYDelta,toYDelta
11         Animation animation = new TranslateAnimation(1080.0f,0f,0f,0f);
12         //动画的持续时间
13         animation.setDuration(2000);
14         //执行次数,不包括第一次
15         animation.setRepeatCount(2);
16         //设置加速器要实现的动画效果
17         animation.setInterpolator(this,android.R.anim.bounce_interpolator);
18         img.clearAnimation();
19         img.startAnimation(animation);
20     }
21 }

 

 

平移动画(TranslateAnimation)

平移动画可以演示一个视图从X轴或Y轴上的位置改变的动画效果,同一时间只能操作X轴平移或者Y轴平移。

主要属性:

FromXDelta:动画X轴初始位置可以是%也可以是没有单位就是像素

toXDelta:动画X轴最终位置。

FromYDelta:动画Y轴初始位置

toYDelta:动画Y轴最终位置

duration:动画持续时间

repeatCount:动画重复次数

还有一些不是必须有但是也非常好的属性

startOffset:延迟一定时间开始动画

Interpolate:加速器,动画的速度有很多取值。

@android:anim/accelerate_interpolator:越来越快

@android:anim/ decelerate _interpolator:越来越慢

@android:anim/ accelerate_decelerate_interpolator:先快后慢

@android:anim/anticipate_interpolator:先后退一小步然后加速前进

@android:anim/overshoot_interpolator:快速到达终点超出一小步然后返回

@android:anim/anticipate_overshoot_interpolator: 到达终点超出一小步然后返回

@android:anim/bounce_interpolator:到达终点产生弹球效果

@android:anim/linear_interpolator:均匀速度

Android学习—动画(平移动画)

原文:http://www.cnblogs.com/androidLearn/p/5213735.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!