Android - 滑回主屏幕

时间:2011-06-03 21:52:12

标签: android android-activity transitions

我使用以下代码在Android中创建了“返回主页”类型按钮:

Intent i=new Intent(this, Home.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

然而,当android转换为Home活动时,它会从右到左滑动活动,从而给用户一个新活动启动的印象。然后用户希望在按下“返回”时,之前的活动会出现,显然情况并非如此。

我如何告诉android向后滑动(即从左到右),以便转换确实给出了关闭之前活动的外观?

2 个答案:

答案 0 :(得分:1)

您可以在startActivity()之后调用overridePendingTransition()来覆盖动画。

查看谷歌的this示例。

了解如何创建animation resource

答案 1 :(得分:1)

更多细节(从我对this question的回答中复制):

要专门获取标准的“后退按钮”转换,我将这些值用作enterAnimexitAnim overridePendingTransition(int enterAnim, int exitAnim)的值:

<强> push_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="@android:integer/config_shortAnimTime"/>
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_shortAnimTime" />
</set>

<强> push_right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="@android:integer/config_shortAnimTime"/>
    <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="@android:integer/config_shortAnimTime" />
</set>