Подтвердить что ты не робот

ObjectAnimator не затухает в

Я пытаюсь последовательно воспроизводить набор анимаций, используя набор Animator. Все работает, кроме альфа-анимации (set1). Он меняется от 0.25f до 1, но он не исчезает во время анимации, а в конце анимации set1 он изменяется от 0.25 до 1 и не принимает во внимание setDuration (в результате я не получаю фактическое исчезновение). Так что у меня нет эффекта угасания... Когда я делаю эту анимацию сам по себе, исчезает эффект... Есть идеи?

Я использую замечательную библиотеку nineoldandroids, чтобы реализовать это.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final ImageView image = (ImageView) findViewById(R.id.image);
    final AnimatorSet set = new AnimatorSet();
    set.play(ObjectAnimator.ofFloat(image, "translationX", 0, 100).setDuration(3000));

    final AnimatorSet set1 = new AnimatorSet();
    //THIS IS THE PROBLEMATIC ANIMATION!!
    set1.play(ObjectAnimator.ofFloat(image, "alpha", 0.25f, 1).setDuration(3000));

    final AnimatorSet set2 = new AnimatorSet();
    set2.play(ObjectAnimator.ofFloat(image, "translationX", 100, 200).setDuration(3000));

    final AnimatorSet set3 = new AnimatorSet();
    set3.playSequentially(set,set1,set2);
    set3.start();
}   
4b9b3361

Ответ 1

При работе с 4.0+

ObjectAnimator alphaAnimation = ObjectAnimator.ofFloat(image, View.ALPHA, 0,1);

Ответ 2

попробуйте это.

ObjectAnimator.ofFloat(image, "alpha", 0.25f, 1, 1)

Ответ 3

Вы должны запустить аниматор объектов после завершения компоновки.

final View image = findViewById(R.id.image);
final ViewTreeObserver observer = image.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        observer.removeOnGlobalLayoutListener(this);
        // start animators
    }
});