使用自定义动画时设备挂起

时间:2014-01-28 05:38:36

标签: android animation

我正在使用

@Override
public void onCreate(Bundle savedInstanceState) {
    overridePendingTransition(R.anim.activity_open_translate,R.anim.activity_close_scale);
    //...
}

和这个

@Override
protected void onPause() {
    super.onPause();
    overridePendingTransition(R.anim.activity_open_scale,R.anim.activity_close_translate);
}

用于动画我的活动。

它在某些设备上运行良好,例如三星S3,但很少有设备像MTS N790那样悬挂。

是否有其他方法可以使用可在所有设备上运行的动画?

activity_open_translate.xml

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

activity_close_scale.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale android:fromXScale="100%p"
        android:toXScale="80%p"
        android:fromYScale="100%p"
        android:toYScale="80%p"
        android:pivotX="50%p"
        android:pivotY="50%p"
        android:duration="@android:integer/config_mediumAnimTime" />

    <alpha android:fromAlpha="1"
        android:toAlpha="0.5"
        android:duration="@android:integer/config_mediumAnimTime"/>
</set>

activity_open_scale.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale android:fromXScale="80%p"
        android:toXScale="100%p"
        android:fromYScale="80%p"
        android:toYScale="100%p"
        android:pivotX="50%p"
        android:pivotY="50%p"
        android:duration="@android:integer/config_mediumAnimTime" />

    <alpha android:fromAlpha="0.5"
        android:toAlpha="1.0"
        android:duration="@android:integer/config_mediumAnimTime"/>
</set>

activity_close_translate

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

1 个答案:

答案 0 :(得分:1)

在我的情况下,错误是关于为set标记设置错误的插值。某些插值器与某些动画不匹配。