我的Activity在android 4.1中使用动画成功从Activity A滑到B
**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>
并且在 Activity A 中,我使用了覆盖挂起的转换,如下所示:
A.this.overridePendingTransition(R.anim.outanimation,R.anim.inanimation);
如前所述,这在 android 4 及以上平台上运行良好,但是当我 在android 2.3平台上测试,Activity A到B获取android默认的activity动画。
我如何运行我的 Activity 以从左到右和从右到左滑动,这与 2.2 及更高版本兼容。
有没有办法以编程方式在两个 Activity 之间设置动画?
更新
问题是设备,至少在三星 Galaxy 的情况下,必须启用动画才能工作。这可以在设置菜单中完成。
你知道如何从 Android 的设置菜单中激活所有动画吗?
最佳答案
对于 Android 滑入和滑出动画,我使用了以下代码。
Activity A:
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" />
关于Android 滑入滑出动画问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16477027/