0

Я создаю анимацию, где у меня есть 3 изображения, которые будут анимироваться по экрану. Когда среднее изображение достигает середины экрана, оно исчезает.Fade in происходит только для первой анимации android

Все работает отлично, за исключением того, что только когда первое изображение попадает в середину, оно исчезает, Когда второе и третье изображение попадают в середину, они не выцветают in

Каждое изображение имеет свой собственный вид. и метод fade в методе выполняется во всех тех же Представлениях.

См. Ниже код. Дайте мне знать, если вам нужна дополнительная информация.

Вот процесс, который моделирует слайды, перемещающиеся по экрану. 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); 


} 

ответ

1

Вы только звоните moveThree для первого просмотра. Вы также должны позвонить, если для других Просмотров:

moveThree(activity,apa1); 
moveThree(activity,apa2); 
moveThree(activity,apa3); 
+0

хорошая точка! Я забыл добавить к моему коду выше fiftheprocess, где я исчезаю во втором представлении apa2. Я редактировал код – user182192

 Смежные вопросы

  • Нет связанных вопросов^_^