android中的动画

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);


你可能感兴趣的:(fromXDelta,toXDelta)