此问题仅在 Jelly Bean 4.1 和 4.2 上发生(在 Galaxy Nexus 和 Nexus 4 上测试)。这是我的使用方法overridePendingTransition
什么时候开始一个新的活动:
Intent intent = new Intent(ActivityA.this, ActivityB.class);
startActivity(intent);
overridePendingTransition(R.anim.transition_right_to_left,
R.anim.transition_right_to_left_out);
当完成一个活动回到上一个
finish();
overridePendingTransition(R.anim.transition_left_to_right, R.anim.transition_left_to_right_out);
transition_left_to_right
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXDelta="-100%p"
android:toXDelta="0"
android:duration="@integer/transition_duration"/>
transition_left_to_right_out
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXDelta="0"
android:toXDelta="100%p"
android:duration="@integer/transition_duration"/>
transition_right_to_left
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="@integer/transition_duration"/>
transition_right_to_left_out
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="-100%p"
android:duration="@integer/transition_duration"/>
这就是屏幕闪烁的方式:http: //youtu.be/TUKRz2yVF6Q(仅从 01:00 开始)
请告诉我您是否知道我的代码有什么问题以及为什么设备屏幕有时会闪烁?谢谢你。
编辑:尝试在 Jelly Bean 上使用 ActivityOptions 但没有帮助