2

我编写了从给定静态点(pivotX,pivotY)开始带有动画的活动的代码,但我想在活动开始之前更改pivotX和pivotY。我希望动画在我单击地图上的某个点时开始。

XML:

<scale
    android:duration="1000"
    android:fillAfter="false"
    android:fillBefore="false"
    android:fillEnabled="true"
    android:fromXScale="0.0"
    android:fromYScale="0.0"
    android:pivotX="10%p"
    android:pivotY="50%p"
    android:toXScale="1.0"
    android:toYScale="1.0" />

活动:

       Intent intent = new Intent(getApplicationContext(),
                    PlayerActivity.class);
            startActivity(intent);

            overridePendingTransition(R.anim.push_down_in,
                    R.anim.push_down_out);
4

2 回答 2

2

您的动画文件似乎有问题。按着这些次序。

将 activity_push_up_in.xml 放入您的动画文件夹中:-

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

    <translate
        android:duration="500"
        android:fromYDelta="100%p"
        android:toYDelta="0" />

</set>

现在,将另一个 xml push_up_out.xml 再次放入您的 anim 文件夹中:-

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

    <translate
        android:duration="500"
        android:fromYDelta="0"
        android:toYDelta="-100%p" />

</set>

现在将此代码放入您的 java 文件中以使用此动画开始活动:-

overridePendingTransition(R.anim.activity_push_up_in, R.anim.push_up_out);
于 2013-10-11T12:26:11.890 回答
0

我认为你必须使用 android:startOffset 来设置动画延迟

于 2013-11-09T11:33:55.060 回答