Android独立动画

时间:2014-05-22 10:16:52

标签: android animation view sliding

如何为同一视图制作两个独立的动画。

场景如下:

视图从左向右滑动,用户可能会单击后退按钮,这意味着在滑动动画期间相同的视图应淡出。

我无法实现这一点,因为当我开始淡出动画时,滑动被中断并移动到它的最终位置。

我猜这种情况下不能选择AnimationSet。

1 个答案:

答案 0 :(得分:0)

您可以在下面使用ObjectAnimator for Android SDK 14+或库NineOldAndroids。下面是一个示例,它看起来如何(一个View向右滑动300px,一旦按下后面就会逐渐淡出)

private Animator fadeOut;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final View view = findViewById(R.id.button);

    //we prepare the fadeOut-Animator to be started onBackPressed
    fadeOut = ObjectAnimator.ofFloat(view, View.ALPHA, 0);
    fadeOut.setDuration(1000);

    //we prepare and start the slide-Animator
    final Animator slide = ObjectAnimator.ofFloat(view, View.TRANSLATION_X,300);
    slide.setDuration(3000);
    slide.start();
}

@Override
public void onBackPressed() {
    //super.onBackPressed();
    fadeOut.start();
}

*我建议不要使用后退按钮做其他事情,而不是导航回来。