在活动之间放大动画

时间:2015-12-25 05:56:32

标签: java android xml animation

我正在创建一个Android应用程序。我想通过放大过渡来打开新活动。我目前的活动中有一些按钮。当我点击一个按钮时,新的活动将从按钮的位置打开。我尝试使用以下代码。但是不会出现过渡。我使用以下xml和java代码。

zoom_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <scale
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="800"
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="70%"
        android:pivotY="70%"
        android:toXScale="3"
        android:toYScale="3" >
    </scale>

</set>

zoom_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <scale
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="800"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="70%"
        android:pivotY="70%"
        android:toXScale="0.5"
        android:toYScale="0.5" >
    </scale>

</set>

在我的java代码中,我称之为

overridePendingTransition(R.anim.zoom_in,R.anim.zoom_out);

使用这些代码不会出现任何影响。有人可以帮我找出问题所在吗?

2 个答案:

答案 0 :(得分:1)

尝试添加属性:android:fillAfter="true" 像这样:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true" >

    <scale
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="1000"
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="3"
        android:toYScale="3" >
    </scale>

</set>

答案 1 :(得分:0)

将动画xml文件zoom_in.xmlzoom_out.xml放入res/anim 目录并像这样开始动画:

overridePendingTransition(R.anim.zoom_in,R.anim.zoom_out);