标签:
android
中提供了如下4种动画效果:
1、AlphaAnimation 透明度动画效果
2、ScaleAnimation 缩放动画效果
3、TranslateAnimation 位移动画效果
4、RotateAnimation 旋转动画效果
今天,我们使用位移动画实现应用切换界面的效果:
TranslateAnimation包括:
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);//设置反方向执行
android:duration:运行动画的时间:文档原文为
android:duration
int. The time in milliseconds of the animation. 300ms is the default.
即默认为300毫秒
android:repeatCount:定义动画重复的时间
demo:需求,在android设置向导中,可能你会有需要进入下一页,返回上一页的需求,
接下来我们就是实现它
从左往右滑为
translate_in.xml
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromXDelta="100%" android:fromYDelta="0" android:toXDelta="0" android:toYDelta="0"> </translate>
translate_out.xml
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="-100%" android:toYDelta="0"> </translate>
使用方法
/*要求在finish()或者startactivity 方法后面执行*/ overridePendingTransition(R.anim.translate_in, R.anim.translate_out);
从右往左滑为:
translate_precede_in.xml
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromXDelta="-100%" android:fromYDelta="0" android:toXDelta="0" android:toYDelta="0"> </translate>
translate_precede_in.xml
<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="100%" android:toYDelta="0"> </translate>
使用方法
overridePendingTransition(R.anim.translate_precede_in, R.anim.translate_precede_out);
标签:
原文地址:http://my.oschina.net/zaizaiangels/blog/522630