Android 动画之TranslateAnimation应用详解
2015-09-17 18:15
519 查看
TranslateAnimation动画,TranslateAnimation比较常用,比如QQ,网易新闻菜单条的动画,就可以用TranslateAnimation实现,
通过TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) 来定义动画
参数说明:
代码如下:
float fromXDelta 动画开始的点离当前View X坐标上的差值
float toXDelta 动画结束的点离当前View X坐标上的差值
float fromYDelta 动画开始的点离当前View Y坐标上的差值
float toYDelta 动画开始的点离当前View Y坐标上的差值
常用方法:
代码如下:
animation.setDuration(long durationMillis);//设置动画持续时间
animation.setRepeatCount(int i);//设置重复次数
animation.setRepeatMode(Animation.REVERSE);//设置反方向执行
Xml属性:
代码如下:
android:duration:运行动画的时间
android:repeatCount:定义动画重复的时间
代码:
代码如下:
public class MainActivity extends Activity {
ImageView image;
Button start;
Button cancel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.main_img);
start = (Button) findViewById(R.id.main_start);
cancel = (Button) findViewById(R.id.main_cancel);
/** 设置位移动画 向右位移150 */
final TranslateAnimation animation = new TranslateAnimation(0, 150,0, 0);
animation.setDuration(2000);//设置动画持续时间
animation.setRepeatCount(2);//设置重复次数 -1代表一直循环
animation.setRepeatMode(Animation.REVERSE);//设置反方向执行
start.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
image.setAnimation(animation);
/** 开始动画 */
animation.startNow();
}
});
cancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
/** 结束动画 */
animation.cancel();
}
});
}
}
通过TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) 来定义动画
参数说明:
代码如下:
float fromXDelta 动画开始的点离当前View X坐标上的差值
float toXDelta 动画结束的点离当前View X坐标上的差值
float fromYDelta 动画开始的点离当前View Y坐标上的差值
float toYDelta 动画开始的点离当前View Y坐标上的差值
常用方法:
代码如下:
animation.setDuration(long durationMillis);//设置动画持续时间
animation.setRepeatCount(int i);//设置重复次数
animation.setRepeatMode(Animation.REVERSE);//设置反方向执行
Xml属性:
代码如下:
android:duration:运行动画的时间
android:repeatCount:定义动画重复的时间
代码:
代码如下:
public class MainActivity extends Activity {
ImageView image;
Button start;
Button cancel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.main_img);
start = (Button) findViewById(R.id.main_start);
cancel = (Button) findViewById(R.id.main_cancel);
/** 设置位移动画 向右位移150 */
final TranslateAnimation animation = new TranslateAnimation(0, 150,0, 0);
animation.setDuration(2000);//设置动画持续时间
animation.setRepeatCount(2);//设置重复次数 -1代表一直循环
animation.setRepeatMode(Animation.REVERSE);//设置反方向执行
start.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
image.setAnimation(animation);
/** 开始动画 */
animation.startNow();
}
});
cancel.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
/** 结束动画 */
animation.cancel();
}
});
}
}
相关文章推荐
- Android Asynctask
- Android wakelock
- Android xml中定义的shape与Drawable之间的关系
- Android: Service中创建窗口显示
- android系统平台显示驱动开发简要:LCD常用接口篇『二』
- ViewPager的setOnPageChangeListener过时。
- Android自定义对话框去掉白色边框
- Android 单元测试搭建
- 12.Android AsyncTask 技巧
- Android 杀掉进程
- android 获取一些系统指定路径的方法整理
- android JSON数据解析
- Android视频缩略图(二)
- 解决android开发在大屏手机图片出现内存溢出
- Android 事件分发机制测试以及总结
- Android判断GPS是否开启和强制帮用户打开GPS
- Android开发时,提示no resource for "theme......."in package "android"
- Unable to execute dex: Multiple dex files define Landroid/support/v4/accessi问题解决
- Android ListView工作原理完全解析,带你从源码的角度彻底理解,androidlistview
- Android平台的开发环境的发展演变