我正在尝试使用transaction.show
和transaction.hide
交换片段为一对片段之间的过渡设置动画。我认为它会比使用它更简单,replace
因为我理解这会实例化新片段。
(片段可能会被重用数百次,导致高回栈内存使用率,并且当我有一个保存所有片段信息的数据库时,管理回栈会很痛苦)
当我使用
transaction.setCustomAnimations(R.animator.slide_out_right, R.animator.slide_in_left)
为过渡(或其反向模拟)设置动画,动画有效,但片段在过渡后消失。
我的过渡动画在 XML 中定义如下 - 基于此线程中给出的内容。
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="x"
android:valueType="floatType"
android:valueFrom="0"
android:valueTo="1280"
android:duration="500"
/>
</set>
- 我没有使用支持库。
- 我对两个片段都使用一个框架布局,因为我认为它会更简单。
- 这个问题本质上和这个问题类似,但是每个片段使用了2个帧布局,并且只有在300ms动画时间内发生2个过渡时才会出现问题。作者找到了一种解决方法,可以
AnimatorSet
在每个布局上使用。作为一个 android 新手,我不确定他的意思是什么,或者我将如何去做。
知道我哪里出错了吗?有没有另一种方法可以像上面的人所做的那样为这样一个简单的片段过渡设置动画?这可能是一个错误吗?谢谢你。