2016-07-19 60 views
0

我有两个简单的活动,一个是正常活动,第二个是半透明活动。在正常之上的半透明。我必须同时在两个活动中启动两个动画。如何在不同的活动上同时启动两个动画

我对时机感到困惑,任何人都可以建议我们如何实现这一目标?
在此先感谢。

我使用简单的翻译动画在两个地方,但时间不匹配:

Animation a = new ScaleAnimation(1, 1, 0, 1, Animation.RELATIVE_TO_SELF, 
       (float) 0.5, Animation.RELATIVE_TO_SELF, (float) 0); 
a.setFillAfter(true); 
tabLayout.setAnimation(a); 
a.setDuration(400); 
a.setInterpolator(new LinearOutSlowInInterpolator()); 
tabLayout.setVisibility(View.VISIBLE); 
tabLayout.startAnimation(a); 

我使用的动画上面的代码。

回答

3

要做这样的事情,使用片段,而不是活动。活动可以轻松控制两个片段中的动画,因此您的问题可以轻松解决。正如另一个答案中提到的,这不能通过使用活动来实现,因为动画一旦处于后台就会被销毁。通过使用Activity类的接口,可以轻松实现片段间通信。我建议你阅读关于片段之间的片段和通信。

2

您不能在两个不同的活动来启动两个分开的动画。放在那里后台的活动将被销毁。只能在当前可见活动中开始动画。

+1

第一句话+1。其次是错误的,尤其是'会被摧毁'的部分。其他活动可能会被破坏,但不一定。并且以活动为主题,因此您可以看到潜在的活动,但是播放任何动画可能会有问题,因为其onPause()已被调用 –

相关问题