如何使用自定义动画启动活动



我编写了从给定静态点(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);

您的动画文件似乎存在一些问题。请按照以下步骤操作。

将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:-

<?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);

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

最新更新