我正在尝试使用此动画在两个片段之间进行过渡。
我遇到的问题是当我使用下面的代码进行过渡时。动画在白色背景上滑入新片段而不是旧片段。
我想要么使用.replace,要么创建与replace完全相同的功能。我还想让动画在旧片段上滑动新片段。
FragmentTransaction transaction = MainActivity.instance.getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_right, R.anim.slide_in_right, R.anim.slide_out_right);
transaction.replace(R.id.main_frame_content, fragment);
transaction.commit();
try {
fragmentManager.executePendingTransactions();
} catch (Exception e) {
}
动画:
向右滑动:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromXDelta="100%p"
android:toXDelta="0" />
</set>
向右滑出:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="0"
android:toXDelta="100%p" />
</set>
1条答案
按热度按时间x0fgdtte1#
棘手的部分是你必须定义所有的Anim字段的动作。