0
私は3つの画像が画面全体にアニメーション表示されるアニメーションを作成しています。中間の画像が画面の中央に来ると、フェードインします。最初のアニメーションでフェードインが起こっています。
最初の画像が途中でフェードインするときだけ、すべてがうまく動作します.2番目と3番目の画像が中央に当ると、フェードしませんin。
すべての画像には独自の表示があります。フェードインメソッドはすべての同じビューで実行されます。
以下のコードを参照してください。あなたがもっと情報を必要とするかどうかを教えてください。
ここでは、スライドが画面を横切って移動することをシミュレーションするプロセスを示します。 moveThreeはアニメーションのフェードです。 moveOneとmoveTwoは画面上の画像の翻訳です。
public static int secondProcess(AnimationListener activity, View apa1,View apa2, View apa3,int animationmove)
{
Log.d("2", "SECOND PROCESS");
moveOne(activity, apa2);
moveTwo(activity,apa1);
animationmove = 3;
return animationmove;
}
public static int thirdProcess(AnimationListener activity, View apa1,View apa2,View apa3, int animationmove)
{
Log.d("3", "THIRD PROCESS");
moveThree(activity,apa1);
animationmove = 4;
return animationmove;
}
public static int fourthProcess(AnimationListener activity, View apa1, View apa2,View apa3,int animationmove)
{
Log.d("4", "FOURTH PROCESS");
moveOne(activity, apa3);
moveTwo(activity, apa2);
moveFour(activity,apa1);
animationmove = 5;
return animationmove;
}
public static int fifthProcess(AnimationListener activity, View apa1,View apa2,View apa3, int animationmove)
{
Log.d("5", "FIFTH PROCESS");
moveThree(activity,apa2);//IN THE SECOND VIEW HERE THE IMAGE IS NOT FADING
animationmove = 6;
return animationmove;
}
moveThree方法:
private static void moveThree(AnimationListener activity, View apa)
{
Log.v("MOVETHREE", "Started move3");
AnimationSet picMov3 = new AnimationSet(true);
picMov3.setAnimationListener(activity);
AlphaAnimation fadein = new AlphaAnimation((float) 0.3, 1);
fadein.setFillAfter(true);
fadein.setDuration(duration);
picMov3.addAnimation(fadein);
TranslateAnimation trans1 = new TranslateAnimation(-500, -500, 0, 0);
trans1.setDuration(duration);
picMov3.setFillAfter(true);
picMov3.setInterpolator(interpolator);
picMov3.addAnimation(trans1);
apa.startAnimation(picMov3);
}
良い点!私は、私が2番目のビューapa2をフェードインするfiftheprocessの上に自分のコードに追加するのを忘れていました。私はコードを編集した – user182192