Ank*_*kur 5 android android-animation android-fragments android-transitions android-5.0-lollipop
在替换片段时,我正在使用适用于Android棒棒糖版本的幻灯片动画.它按预期的方式工作,但是在按下后退按钮时,它首先弹回当前片段,然后执行反向输入动画(滑出).
private void replaceContentFrameByFragment(Fragment replaceBy, String replaceByFragmentTag) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Slide slide = new Slide(Gravity.BOTTOM);
slide.setDuration(1000);
replaceBy.setEnterTransition(slide);
}
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.content_frame, replaceBy, replaceByFragmentTag);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commitAllowingStateLoss();
}
Run Code Online (Sandbox Code Playgroud)
那么,如何在幻灯片的反向动画完成后强制片段弹回?我注意到该活动提供了方法finishAfterTransition().frgament有类似的东西吗?
我遇到了同样的问题,具有大致相同的模式,并且能够通过发布我的片段转换来解决它:
new Handler().post(new Runnable() {
@Override
public void run() {
page.setEnterTransition(new Slide());
getFragmentManager()
.beginTransaction()
.replace(R.id.root_layout, page, "current")
.commit();
}
});
Run Code Online (Sandbox Code Playgroud)
不知道为什么这可以解决问题(或者这是否是绝对正确的解决方案),但它对我有用。
| 归档时间: |
|
| 查看次数: |
4149 次 |
| 最近记录: |