以与片段事务相同的方式滑入和滑出视图



在Android上,有一个很好的内置动画,用于片段,你可以用1行代码轻松实现:

transaction.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right);

我想达到相同的结果,但是在视图上,每次刷新它并更改其内容时都要对其进行动画处理。我试过

view.startAnimation(AnimationUtils.loadAnimation(ctx, android.R.anim.slide_out_right));      
view.startAnimation(AnimationUtils.loadAnimation(ctx, android.R.anim.slide_in_left));

但是只有一个动画在视图上播放,它不会达到一个滑出和另一个(或相同,在这种情况下(滑入的相同效果,你可以清楚地看到屏幕的一半变白与我的代码,而片段事务的动画显示两个片段进出。有什么方法可以同时播放这两个动画吗?

你应该能够使用AnimationSet来实现这一点。

在您的情况下,代码应如下所示:

Animation anim1 = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right);
Animation anim2 = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left);
AnimationSet animationSet = new AnimationSet(false);
animationSet.addAnimation(anim1);
animationSet.addAnimation(anim2);
animationSet.setDuration(1000); // 1s
animationSet.setInterpolator(new LinearInterpolator());
view.startAnimation(animationSet);

最新更新