/ / Animate ImageView od alpha 0 to 1 - Android, układ androida, widok obrazu, przezroczystość alfa

Animuj obraz z alfa od 0 do 1 - Android, układ android, widok obrazu, przezroczystość alfa

Mam imageView, który chcę zacząć jakoniewidoczny. Po kliknięciu wybranego przycisku chcę animować obraz w widoku, a następnie chcę, aby pozostało przy alfa 1. Jak to zrobić? Jak dotąd nie ma szczęścia. Jeśli ustawię alfa na 0 w xml, to nigdy nie zobaczę obrazu. Jeśli nie ustawię alfa w xml, obraz jest zawsze widoczny, a po kliknięciu przycisku animuje od 0 do 1 alfa.

Oto mój kod animacji.

AlphaAnimation animation1 = new AlphaAnimation(0.0f, 1.0f);
animation1.setDuration(1000);
animation1.setStartOffset(5000);
animation1.setFillAfter(true);
tokenBtn.startAnimation(animation1);

Odpowiedzi:

1 dla odpowiedzi № 1

Spróbuj zrobić swój ImageView invisible w języku xml:

<ImageView
...
android:visibility="invisible"/>

Następnie, dodając AnimationListener, Zrób to visible w onAnimationStart:

...
animation1.setFillAfter(true);
animation1.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// pass it visible before starting the animation
tokenBtn.setVisibility(View.VISIBLE);
}

@Override
public void onAnimationRepeat(Animation animation) {    }
@Override
public void onAnimationEnd(Animation animation) {    }
});
// finally, start the animation
tokenBtn.startAnimation(animation1);

2 dla odpowiedzi nr 2

W MainActivity.java dodaj

public void blink(View view) {
ImageView image = (ImageView) findViewById(R.id.imageView);
Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.blink);
image.startAnimation(animation1);
}

Utwórz plik o nazwie blink.xml w folderze res> anim i dodaj ten kod

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0"
android:toAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="--YOUR DURATION--"
android:repeatMode="reverse"
android:repeatCount="0"/>
</set>

I upewnij się, że funkcja onClick na przycisku ma nazwę migać