向上导航 - 转换不会从右向左滑动

问题描述:

我创建了一些自定义转换,因此当单击按钮时,页面会滑入和滑出。这适用于输入页面(从左向右滑动)和单击后退按钮(从右向左滑动)时的效果,但在操作栏中单击“向上”按钮时,页面会从左侧滑动到正确的时候我希望它像按下后退按钮。以下是我在styles.xml文件中使用的代码:向上导航 - 转换不会从右向左滑动

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

任何帮助,将不胜感激。谢谢!

您可以尝试使用overridePendingTransition(),但每次切换活动时都必须插入它。

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: 
     super.onBackPressed(); 
     overridePendingTransition(R.anim.enterAnim, R.anim.exitAnim); 
     return true; 
... 

你想也可能要检查你如何实现onClick()了上行按钮。在这里,我打电话super.onBackPressed(),其中调用finish()的活动。

+2

通过这样做,您正在向上导航按钮功能完全像后退按钮。我认为这是错误的行为,因为向上导航应该转换到Task的顶部,因为后退导航只是将现有活动从堆栈中弹出。 – toobsco42