我使用自定义动画来更改活动。目标是当前活动向左滑动,新滑动从右侧滑入。所以我定义了这些动画:
slide_out_left.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="600"
android:fromXDelta="0%"
android:toXDelta="-100%" >
</translate>
</set>
slide_in_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="600"
android:fromXDelta="100%"
android:toXDelta="0%" >
</translate>
</set>
我在我的活动中应用了这些:
public void menuLogin (View view)
{
Intent intent = new Intent (this, LoginActivity.class);
startActivity (intent);
overridePendingTransition (R.anim.slide_in_right, R.anim.slide_out_left);
}
所以奇怪的是:直到两天前,它完全没用。旧的活动向左滑出,新的活动从右侧滑入。但它刚刚停止工作。现在,旧的活动刚刚消失,新的幻灯片也进入了。但我没有更改动画xml或Java代码。
但是如果我将R.anim.slide_out_left更改为具有相同代码的R.anim.slide_out_right,除了-100%在toDDelta中为100%之外,动画显示正确。如果它是-100%,它就不起作用。
我已经重新启动了模拟器,重新启动了计算机,检查了SDK的更新,删除了设备并创建了新设备,并清理了我的项目。 模拟器设备是Nexus One,CPU Intel Atom x86,Android 4.4.2,主机GPU,我的电脑是Windows 7 64位。
答案 0 :(得分:0)
不知道为什么我之前没想过这个: 我创建了另一个具有相同设置的模拟器设备(Nexus One,Android 4.4.2,主机GPU),但CPU ARM ,不知何故幻灯片效果再次起作用。