如何将android中的动画添加到popBackStack?
我有一个片段,我弹回到另一个片段,像这样:如何将android中的动画添加到popBackStack?,android,android-studio,Android,Android Studio,我有一个片段,我弹回到另一个片段,像这样: final FragmentManager fm = getParentFragmentManager(); fm.popBackStack(myFirstFragment.LOG_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE); 现在,片段消失了,而不是带着一个过渡返回 如何为弹出的内容添加客户动画?只需从FragmentTransaction调用.setCustomAnimations方法即可 F
final FragmentManager fm = getParentFragmentManager();
fm.popBackStack(myFirstFragment.LOG_TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE);
现在,片段消失了,而不是带着一个过渡返回
如何为弹出的内容添加客户动画?只需从FragmentTransaction调用.setCustomAnimations方法即可
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out, android.R.animator.fade_in, android.R.animator.fade_out);
对于自定义动画,创建一个fade_in.xml
和fade_out.xml
并调用它,而不是android.R.animatior.fade_in
和android.R.animatior.fade_out
淡入.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="2000"
android:fromAlpha="0.1"
android:toAlpha="1.0">
</alpha>
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="2000"
android:fromAlpha="1.0"
android:toAlpha="0.1" >
</alpha>
</set>
.您只需从FragmentTransaction调用.setCustomAnimations方法即可完成此操作
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out, android.R.animator.fade_in, android.R.animator.fade_out);
对于自定义动画,创建一个fade_in.xml
和fade_out.xml
并调用它,而不是android.R.animatior.fade_in
和android.R.animatior.fade_out
淡入.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="2000"
android:fromAlpha="0.1"
android:toAlpha="1.0">
</alpha>
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
android:duration="2000"
android:fromAlpha="1.0"
android:toAlpha="0.1" >
</alpha>
</set>
.JAVA
Fragment fragment = new FragmentB();
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(
R.anim.slide_in, // enter
R.anim.fade_out, // exit
R.anim.fade_in, // popEnter
R.anim.slide_out // popExit
)
.replace(R.id.fragment_container, fragment)
.addToBackStack(null)
.commit();
KOTLIN
val fragment = FragmentB()
supportFragmentManager.commit {
setCustomAnimations(
enter = R.anim.slide_in,
exit = R.anim.fade_out,
popEnter = R.anim.fade_in,
popExit = R.anim.slide_out
)
replace(R.id.fragment_container, fragment)
addToBackStack(null)
}
欲了解更多信息,请阅读:
JAVA
Fragment fragment = new FragmentB();
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(
R.anim.slide_in, // enter
R.anim.fade_out, // exit
R.anim.fade_in, // popEnter
R.anim.slide_out // popExit
)
.replace(R.id.fragment_container, fragment)
.addToBackStack(null)
.commit();
KOTLIN
val fragment = FragmentB()
supportFragmentManager.commit {
setCustomAnimations(
enter = R.anim.slide_in,
exit = R.anim.fade_out,
popEnter = R.anim.fade_in,
popExit = R.anim.slide_out
)
replace(R.id.fragment_container, fragment)
addToBackStack(null)
}
欲了解更多信息,请阅读: