【发布时间】:2017-02-20 14:50:46
【问题描述】:
对于片段之间的动画,我使用带有翻译标签的文件夹动画,我有 4 个文件: 从左侧滑入
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="-100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="230"/>
</set>
向左滑出
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="0%"
android:toXDelta="-100%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="230" />
</set>
从右侧滑入
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="230"/>
</set>
向右滑动
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="0%" android:toXDelta="100%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="230" />
</set>
这在活动之间运作良好,前一个活动向左平移,新活动从右侧出现。
但是当我从活动中调用片段时,我无法获得相同的动画。 我没有使用支持片段,所以我需要像这样使用对象动画师的动画:
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="400"
android:propertyName="x"
android:valueFrom="2000"
android:valueTo="0"
android:valueType="floatType" />
我又得到了 4 个动画文件,我正在这样使用它:
transaction.setCustomAnimations(R.animator.slide_in_from_left, R.animator.slide_out_to_left, R.animator.slide_in_from_right, R.animator.slide_out_to_right);
但是对于这个动画,片段来自右侧并位于活动上方我希望活动转换到左侧 我尝试在调用片段之前为活动设置动画,但这不起作用:
findViewById(R.id.main_view).startAnimation( AnimationUtils.loadAnimation(MatchActivity.this, R.anim.slide_out_to_left));
当我调用新片段时如何翻译活动我希望在所有视图之间具有相同的过渡动画
【问题讨论】:
-
有一个地方你应该执行
setCustomAnimations()。如果您在add()或replace()之后设置该行,则不会尊重这些动画。 -
我的片段动画效果很好我只是想知道当我使用对象动画师时如何通过翻译获得相同的动画。因为实际上当我调用片段动画时,片段位于活动上方,我希望上一个活动在左侧滑动
标签: android android-fragments animation android-activity fragment