我正在尝试在我的活动中显示一个包含菜单的片段,它应该从屏幕的右侧滑入,直到用户再次按按钮或按返回按钮解除它为止,然后它应该滑回到它来的地方,当然,这两个操作都包括一个动画。问题是,片段滑入了,但我无法使它使用动画滑出,它只是突然消失了。我已经阅读了一些类似的帖子,但我没有找到任何适用于我的情况的解决方案。
以下代码应该完成这个工作:
以下代码应该完成这个工作:
private void showMenuFragment() {
if (this.frMenu == null) {
this.frMenu = new MenuFragment();
FragmentTransaction transaction = this.getSupportFragmentManager()
.beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_right);
transaction.replace(R.id.fr_side_menu, this.frMenu);
transaction.addToBackStack(MenuFragment.class.getName());
transaction.commit();
}
else {
this.frMenu = null;
this.onBackPressed();
}
}
动画效果:
文件 slide_in_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="500"
android:fromXDelta="100%"
android:toXDelta="0%" >
</translate>
</set>
文件 slide_out_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="100%" >
</translate>
</set>
请帮忙!
提前感谢。