2016-07-19 12 views
0

私は2つの単純なアクティビティを持っています.1つは通常のアクティビティ、もう1つは半透明です。普通のものよりも半透明です。両方のアクティビティで同時に2つのアニメーションを開始する必要があります。異なるアクティビティで同時に2つのアニメーションを開始する方法

私はタイミングと混同していますが、これをどのように達成することができますか?
ありがとうございます。

私は両方の場所に簡単な翻訳アニメーションを使用していますが、タイミングが一致していません。

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

このようなことを行うには、アクティビティの代わりにフラグメントを使用します。アクティビティはアニメーションを2つの部分で簡単に制御できるため、問題を簡単に解決できます。別の答えでも言及されているように、アニメーションはバックグラウンドになると破壊されるため、これはアクティビティを使用して達成することはできません。また、インタラクション・フラグメント通信は、アクティビティ・クラスを介してインタフェースを使用することで簡単に実現できます。フラグメント間のやり取りについてお読みください。

2

次の2つの異なる活動に分離した2つのアニメーションを開始することができません。バックグラウンドでの活動は、そこに置かれると破壊されます。表示されている現在のアクティビティでのみアニメーションを開始できます。

+1

+1最初の文です。しかし第二は間違っている、特に破壊される部分である。他の活動は破壊されるかもしれませんが、そうする必要はありません。つまり、基本的なアクティビティをダイアログとしてテーマ化されたアクティビティを持つことはできますが、アニメーションを再生するには 'onPause()'が既に呼び出されているので問題があるかもしれません –

関連する問題