android - 按下向上按钮时的自定义 Activity 转换

标签 android android-layout android-fragments android-activity android-actionbar

每当我从当前activity 按下向上按钮时,父 fragment 从右边缘向左滑动,这似乎是默认的过渡行为。但我希望父activity 滑动从左边缘向右。

我已经将 onBackPressedoverridePendingTransition 和自定义转换 xml 文件一起使用,但我的 onBackPressed 从未被调用。

这是我的java代码。

public class TakeOrderItems extends AppCompatActivity {

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_take_order_items);

    //Get the actionbar to set the back button
    ActionBar ab = getSupportActionBar();
    ab.setDisplayHomeAsUpEnabled(true);

/* 
  CODE TO CREATE AND DISPLAY EXPANDABLELISTVIEW
                                               */


@Override
public void onBackPressed() {
    super.onBackPressed();
    Log.i("Good","back pressed");
    overridePendingTransition(R.transition.slide_in,R.transition.slide_out);
}

XML 转换文件

slide_in.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="200" />
</set>

slide_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromXDelta="0"
    android:toXDelta="100%"
    android:duration="200" />
</set>

我检查了很多答案,但它们似乎令人困惑和矛盾。我认为必须有一种优雅而有效的方法来实现这一点,因为许多应用程序都在使用它。请帮助我。谢谢。

最佳答案

overridePendingTransition 放在调用 super.onBackPressed() 之上,它必须有效

关于android - 按下向上按钮时的自定义 Activity 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40882733/

相关文章:

java - XML 膨胀错误

android - 无法在文本更改时调整项目组并尊重边距

android - fragment 和旋转

java - Android:无法在布局中使用动画 GIF。 (跟随指南)

android - 全局控制处理程序

java - Eclipse - Android 应用程序在启动时崩溃?

java - Android fragment 显示为 dialogfragment 或通常的 fragment

android - TabLayout 的不同 tabMode

android - 像 facebook 一样拉动刷新和加载更多 ListView

java - 调用另一个 fragment 时 ListAdapter 错误