2

我的活动使用动画成功从 Activity A 滑到 B 的 android 4.1

**inamation.xml**

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

outanimation.xml

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

在活动 A 中,我使用了覆盖待处理的转换,如下所示:

A.this.overridePendingTransition(R.anim.outanimation,R.anim.inanimation);

如前所述,这在 android 4 及以上平台上运行良好,但是当我在 android 2.3 平台上测试它时,Activity A 到 B 获取 android 默认活动动画。

我如何运行我的活动以从左到右和从右到左滑动,这与 2.2 及更高版本兼容。

有没有办法以编程方式在两个活动之间设置动画?

更新

问题是该设备,至少在三星 Galaxy 的情况下,必须启用动画才能使其工作。这可以在设置菜单中完成。

您知道如何从 Android 的设置菜单中激活所有动画吗?

4

1 回答 1

10

对于 Android 滑入和滑出动画,我使用了以下代码。

活动一:

Intent intnt = new Intent(SplashScreen.this,
                        CustomTabActivity.class);
                startActivity(intnt);
                overridePendingTransition(R.anim.slide_in_left,
                        R.anim.slide_out_left);
                finish();

slide_in_left.xml

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

slide_out_left.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromXDelta="0"
    android:toXDelta="-100%p" />
于 2013-05-10T07:19:11.440 回答