【发布时间】:2016-02-17 14:00:26
【问题描述】:
我正在尝试找出在调用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 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();
【问题讨论】:
标签: android android-fragments fragmentmanager