尝试为片段事务设置自定义动画时遇到了一些麻烦。我知道这方面有很多问题,我已经尝试了所有解决方案,但仍然无法解决这个问题。以下是动画xml文件:
slide.down.xml(用于退出)
<set xmlns:android="”http://schemas.android.com/apk/res/android”"
android:shareInterpolator="false" >
<translate
android:duration="700"
android:fromXDelta="0%"
android:fromYDelta="-100%"
android:toXDelta="0%"
android:toYDelta="0%" />
slide_up.xml(用于输入)
<set xmlns:android="”http://schemas.android.com/apk/res/android”"
android:shareInterpolator="false" >
<translate
android:duration="700"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="-100%"/>
和我的片段交易代码:
getFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.slide_up , R.anim.slide_down,R.anim.slide_up , R.anim.slide_down)
.replace(R.id.container, list)
.addToBackStack(null)
.commitAllowingStateLoss();
所有解决方案都形成了我尝试过的其他类似线程:
setCustomAnimations
之前replace
android:hardwareAccelerated
在清单中设置为true。我似乎弄乱了一些非常明显和重要的东西,但我不知道那是什么。
我的问题:服装动画为什么不起作用,如何使它起作用?
因此,Android中有两种动画类型。查看动画(Animation)和属性动画(Animator)。您的动画是前者,而FragmentTransaction.setCustomAnimations
期望是后者。您有2个选项可解决此问题:
android.support.v4.app.Fragment
getSupportFragmentManager()
创建FragmentTransaction
ViewGroup
(在此处进行说明)objectAnimator
(XML)第一个选择肯定是更简单的选择,尤其是因为您要进行屏幕开/关转换时,它会期望您已经定义的动画类型。
要了解有关两个动画之间差异的更多信息,请参见此处。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句