android活动打开与交换动作

时间:2013-11-26 14:01:44

标签: java android

我是否可以使用交换动作而不是默认动作来打开Android活动。 默认情况下,当我从另一个活动中调用一个活动时,新活动从中间打开,并且增长到匹配屏幕大小,我希望我的应用程序中的活动从侧面打开并覆盖它们之前的活动。

有可能吗?

5 个答案:

答案 0 :(得分:2)

是的,你可以通过cutom动画做到这一点,就像我在这里做的那样:

将activity_push_up_in.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="100%p"
        android:toYDelta="0" />



</set>

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

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

答案 1 :(得分:1)

简短回答:是的,有可能

在API级别5中,您可以调用overridePendingTransition方法指定显式过渡动画。

startActivity();
overridePendingTransition(R.anim.hold, R.anim.some_animation);

您当然需要在动画xml中创建想要使用的动画。

答案 2 :(得分:0)

使用此

overridePendingTransition(0, android.R.anim.slide_out_right);

答案 3 :(得分:0)

您需要使用动画并在启动新活动时覆盖当前动画。 看一下这个答案Slide right to left Android Animations

答案 4 :(得分:0)

就像我做的一样:

put activity_push_up_in.xml in your anim folder :-

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

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



</set>
now, put another xml push_up_out.xml again in your anim folder :-

<set xmlns:android="http://schemas.android.com/apk/res/android" >

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


</set>
Now put this code in your java file to start intent activity with this animation :-

overridePendingTransition(R.anim.activity_push_up_in, R.anim.push_up_out);