Android:“向上”按钮与后退按钮具有相同的动画

时间:2018-04-25 00:43:37

标签: java android android-actionbar android-animation

我一直在四处搜寻,似乎无法找到有效的答案。

我正在使用<meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".HomeScreen" />来应用父屏幕。

我正在使用slide_in_left,slide_out_right等xmls,并且在我的styles.xml中有这个:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowAnimationStyle">@style/CustomActivityAnimation</item>
</style>

<style name="CustomActivityAnimation" parent="@android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item>
    <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item>
    <item name="android:activityCloseEnterAnimation">@anim/slide_in_left</item>
    <item name="android:activityCloseExitAnimation">@anim/slide_out_right</item>
</style>

除了操作栏中的向上按钮之外,这种方式非常有效,其行为就好像我在层次结构中向前移动,而不是向后移动(滑向左侧)。有没有办法改变这个?

谢谢!

1 个答案:

答案 0 :(得分:0)

我能找到的最好方法是覆盖向上按钮所调用的操作,使其作为后退按钮来操作。

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case android.R.id.home:
            onBackPressed();
            return true;

        default:
            return super.onOptionsItemSelected(item);
    }
}

此代码位于子活动中,该活动带有向上按钮。