Android popBackStack setTransition

Android popBackStack setTransition

我想弄清楚调用 popBacksStack 时播放过渡动画的正确方法是什么。

现在我正在设置从 ListFragmentSettingsFragment 的过渡

getSupportFragmentManager()
    .beginTransaction()
    .addToBackStack(null)
    .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
    .replace(R.id.fragment_holder, settingsFragment)
    .commit();

但是弹出 backstack 时应该如何播放过渡(向后移动以便 ListFragment 再次可见)?

正如我所注意到的,弹出 backstack 不是像替换片段那样的 fragmentManager 事务,因此我无法在弹出之前调用 setTransition

我希望代码尽可能简单。没有自定义动画等

解法: 我想我已经习惯了 Android Studio 比我聪明。 Android studio 没有将 android.R 识别为资源所以我认为没有这样的东西,但是当我开始输入完整路径时 'android.R.anim.slide_in_left' Android studio 捡到了它.所以我的解决方案现在看起来像这样:

getSupportFragmentManager()
                    .beginTransaction()
                    .addToBackStack(null)
                    .setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right, android.R.anim.slide_in_left, android.R.anim.slide_out_right)
                    .replace(R.id.fragment_holder, settingsFragment)
                    .commit();

getSupportFragmentManager()
.beginTransaction()
.addToBackStack(空)
.setCustomAnimations(R.anim.enter, R.anim.exit, R.anim.popEnter, R.anim.popExit )
.replace(R.id.fragment_holder, settingsFragment)
.commit();