显示和隐藏时动画片段过渡(不替换)
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();
对于带有选项卡的网络浏览器,我有一个不断变化的片段数量,每个片段都有一个 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();