更改ViewFlipper转换的动画或持续时间

cot*_*aws 2 animation android viewflipper

我有一个ViewFlipper,有时我希望它在视图之间设置动画,有时我希望它能在视图之间立即切换.

我正在试图弄清楚如何做到这一点.

我尝试在切换之前更改动画,动画和动画,但如果我这样做,则当前视图在动画期间消失.

有人知道这样做的方法吗?

Pau*_*sma 5

我没有确切的代码在我面前,但我记得你可以指定显示的孩子(没有动画)

flipper.setDisplayedChild(childIndex);
Run Code Online (Sandbox Code Playgroud)

如果要更改动画的持续时间,则必须使用指定自己的动画InOut动画

flipper.setInAnimation(animIn);
flipper.setOutAnimation(animOut);
Run Code Online (Sandbox Code Playgroud)

例如,你有一个动画XML /res/anim/animIn.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:interpolator="@android:anim/accelerate_interpolator"
        android:fromXDelta="100%"
        android:toXDelta="0"
        android:duration="500"/>
</set>
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,动画在500毫秒内从右侧移动下一帧.