Android - 如何更改活动的动画

时间:2014-09-11 18:28:30

标签: android android-activity

我想改变MyApp来自后台的方式并向用户显示。我已经覆盖onBackPressed():

@Override
public void onBackPressed() {
    moveTaskToBack(true);
}

我想要与Android应用相同的动画:https://www.youtube.com/watch?v=dJ35v-wn5zU

1 个答案:

答案 0 :(得分:2)

public void onBackPressed() {
    overridePendingTransition(R.anim.fadein, R.anim.fadeout);
}

看看Slide Down-Slide Down:

向上滑动:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:zAdjustment="top">
    <translate
        android:duration="1000"
        android:fromYDelta="0%"
        android:toYDelta="100%" />
</set>

向下滑动:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="1000"
        android:fromYDelta="100%"
        android:toYDelta="0%" />

</set>

淡入:

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
   android:interpolator="@android:anim/accelerate_interpolator"
   android:fromAlpha="0.0" 
   android:toAlpha="1.0" 
   android:duration="1000" 
   />

淡出:

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" 
android:toAlpha="0.0" 
android:duration="1000" />

从中间成长:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator="@android:anim/linear_interpolator"
        android:fromXScale="1.0"
        android:toXScale="1.0"
        android:fromYScale="1.0"
        android:toYScale="0.0"
        android:fillAfter="false"
        android:duration="800" />
    <translate
        android:fromYDelta="0"
        android:toYDelta="50%"
        android:duration="800"/>
</set>

收缩到中间:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator="@android:anim/linear_interpolator"
        android:fromXScale="1.0"
        android:toXScale="1.0"
        android:fromYScale="0.0"
        android:toYScale="1.0"
        android:fillAfter="false"
        android:startOffset="200"
        android:duration="800" />
    <translate
        android:fromYDelta="50%"
        android:toYDelta="0"
        android:startOffset="200"
        android:duration="800"/>
</set>

右推:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="800"/>        
</set>

向右推:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="800"/>
</set>

P.S:更改android:duration:值以获得所需的延迟效果