显示和隐藏时动画片段过渡(不替换)

Animate fragment transition when showing and hiding (not replacing)

对于带有选项卡的网络浏览器,我有一个不断变化的片段数量,每个片段都有一个 webview 和其他视图(如标题栏等)。当我更改选项卡时,我只是调用 FragmentTransaction.show()FragmentTransaction.hide() 因为我不想丢失我加载的 webview(所以没有 replace(), 这将删除我的片段并且必须加载 webview又来了)。

我的问题是,我知道如何在调用替换时为片段转换设置动画。但是我可以显示仅显示或隐藏片段的过渡吗?感谢您的帮助。

与制作动画 replace 过渡相同。您唯一应该记住的事情 - 通过带有 4 个参数的方法设置动画:

public abstract FragmentTransaction setCustomAnimations(@AnimatorRes @AnimRes int enter, @AnimatorRes @AnimRes int exit, @AnimatorRes @AnimRes int popEnter,         @AnimatorRes @AnimRes int popExit);

你可以这样做 -

FragmentTransaction ft = getFragmentManager().beginTransaction();
                ft.setCustomAnimations(android.R.animator.fade_in,
                        android.R.animator.fade_out);
                if (fragment.isHidden()) {
                    ft.show(fragment);
                } else {
                    ft.hide(fragment);
                }
                ft.commit();