Android popBackStack setTransition
Android popBackStack setTransition
我想弄清楚调用 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();
getSupportFragmentManager()
.beginTransaction()
.addToBackStack(空)
.setCustomAnimations(R.anim.enter, R.anim.exit, R.anim.popEnter, R.anim.popExit )
.replace(R.id.fragment_holder, settingsFragment)
.commit();
我想弄清楚调用 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();
getSupportFragmentManager()
.beginTransaction()
.addToBackStack(空)
.setCustomAnimations(R.anim.enter, R.anim.exit, R.anim.popEnter, R.anim.popExit )
.replace(R.id.fragment_holder, settingsFragment)
.commit();