Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将android中的动画添加到popBackStack?_Android_Android Studio - Fatal编程技术网

如何将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)
}
欲了解更多信息,请阅读: