Android XML动画头疼

时间:2014-08-17 00:40:32

标签: android animation android-activity

因为这个原因,我的头像地狱一样受伤。我有一个有两个按钮的应用程序。单击第一个按钮后,活动开关之间将播放动画。工作完美无瑕。

overridePendingTransition(R.anim.animation, R.anim.animation2);

animation.xml:

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

animation2.xml:

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

第二个活动使用此动画从右侧滑入。我究竟想要它。

现在,对于我的第二个按钮,第三个活动必须从左侧滑入,恰恰相反。

我需要在anim xml中更改什么?

3 个答案:

答案 0 :(得分:0)

只需创建另外两个具有相反值的动画XML文件,如下所示:

animation1.xml:

<?xml version="1.0" encoding="utf-8"?>

animation3.xml:

<?xml version="1.0" encoding="utf-8"?>

然后,只需在startActivity()之后的RunTime中使用:

overridePendingTransition(R.anim.animation1, R.anim.animation3);

答案 1 :(得分:0)

您可以使用此xml从左侧滑动活动

animation_slide_left.xml

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

    <translate
        android:duration="100"
        android:fromXDelta="-100%p"
        android:toXDelta="0" />

</set>

animation_slide_left_two.xml

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

    <translate
        android:duration="100"
        android:fromXDelta="0"
        android:toXDelta="100%p" />

</set>

在按钮中使用它来滑动左侧的活动

overridePendingTransition(R.anim.animation_slide_left, R.anim.animation_slide_left_two);

答案 2 :(得分:0)

这对我有用:

animation3.xml:

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

animation4.xml:

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

和onBackPressed:

animation5.xml:

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

animation6.xml:

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

对于anm3和anm4,你可以这样做:

overridePendingTransition(R.anim.animation3, R.anim.animation4);

对于背压:

overridePendingTransition(R.anim.animation5, R.anim.animation6);

快乐编码:)