我想弄清楚在调用popBacksStack
时播放过渡动画的正确方法是什么。
现在我正在设置从ListFragment
到SettingsFragment
的过渡,就像这样
getSupportFragmentManager()
.beginTransaction()
.addToBackStack(null)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.replace(R.id.fragment_holder, settingsFragment)
.commit();
但是在弹出backstack
时我应该如何进行转换(向后移动以便ListFragment
再次可见)?
正如我所注意到的,弹出backstack
不是fragmentManager
交易,就像更换片段一样,因此在制作流行音乐之前我无法调用setTransition
。
我想让代码尽可能简单。没有自定义动画等。
解决方案: 我担心我已经习惯了比我聪明的Android Studio。 Android工作室没有认识到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();
答案 0 :(得分:1)
getSupportFragmentManager()
.beginTransaction()
.addToBackStack(空)
.setCustomAnimations(R.anim.enter,R.anim.exit,R.anim.popEnter,R.anim.popExit)
.replace(R.id.fragment_holder,settingsFragment)
.commit();