android– 没有xml的Animate Fragment

android– 没有xml的Animate Fragment,第1张

概述我正在寻找一种方法来动画片段的过渡而不使用xml.动画片段的典型方法是将xml动画制作者与片段一起传递给FragmentTransaction.setCustomAnimations(例如参见https://stackoverflow.com/a/4936159/1290264)相反,我想发送setCustomAnimations一个ObjectAnimator来应用于片段,但遗憾

我正在寻找一种方法来动画片段的过渡而不使用xml.

动画片段的典型方法是将xml动画制作者与片段一起传递给FragmentTransaction.setCustomAnimations(例如参见https://stackoverflow.com/a/4936159/1290264)

相反,我想发送setCustomAnimations一个ObjectAnimator来应用于片段,但遗憾的是这不是一个选项.

关于如何实现这一点的任何想法?

解决方法:

我找到了添加Animator的方法.

它是通过在将片段的onCreateAnimator方法添加到fragmentManager之前重写它来实现的.例如,要在转换期间滑入和滑出动画,您可以执行以下 *** 作:

@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_tutorial);    if (savedInstanceState == null) {        Fragment fragment = new MyFragment(){            @OverrIDe            public Animator onCreateAnimator(int transit, boolean enter, int nextAnim)            {                display display = getActivity().getwindowManager().getDefaultdisplay();                Point size = new Point();                display.getSize(size);                Animator animator = null;                if(enter){                   animator =                      ObjectAnimator.offloat(this, "translationX", (float) size.x, 0);                } else {                   animator =                      ObjectAnimator.offloat(this, "translationX", 0, (float) size.x);                }                animator.setDuration(500);                return animator;            }        }        getFragmentManager().beginTransaction()                .add(R.ID.container, fragment)                .commit();    }}

附:这个答案归功于this forum的问题部分.

总结

以上是内存溢出为你收集整理的android – 没有xml的Animate Fragment全部内容,希望文章能够帮你解决android – 没有xml的Animate Fragment所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118039.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存