Como fazer uma fadein de uma imagem em uma tela de Atividade Android ?

? Hiroshi Iwatani @ | Original: StackOverFlow

Eu gostaria de exibir uma foto em uma tela de Atividade Android com a realização gradual e contínua fade-in de sepia monótona pálido à cor cheia final. Eu sei como fazê-lo em um Java Imagem / BufferedImage para o objeto gráfico, mas infelizmente eu não sei nada para o ambiente de programação Android . Alguém poderia ajudar ?

Top 5 Responder

1Mike Droid @

Um método para isso seria usar o conjunto de animação . Veja aqui;

http://developer.android.com/guide/topics/resources/available-resources.html#animation

Algum código exemplo que eu fiz ( loop infinito fade out, neste exemplo) ;

No arquivo .xml animação ;

<alpha android:fromAlpha="1.0" 
       android:toAlpha="0.3"  
       android:duration="7000"
       android:repeatMode="restart"
       android:repeatCount="infinite"/>

No arquivo java ;

 ImageView introanim = (ImageView) findViewById(R.id.introanim);
    Animation StoryAnimation = AnimationUtils.loadAnimation(this, R.anim.intro_anim);
    introanim.startAnimation(StoryAnimation);

Você poderia desaparecer de sua sepia fundo / imagem para o que você quiser ...

2Elenasys @

Oi Hiroshi você pode fazer isso para o fade in :

  ImageView myImageView= (ImageView)findViewById(R.id.myImageView);
  Animation myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein);
  myImageView.startAnimation(myFadeInAnimation); //Set animation to your ImageView

e dentro de sua pasta o resanim fadein.xml arquivo de animação

<?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="3000" android:repeatCount="infinite"/>
</set>

mas para o desbotamento gradual de sépia para a cor completa, você deve usar http://developer.android.com/intl/fr/reference/android/graphics/drawable/TransitionDrawable.html

3Ricky @

Eu queria uma imagem a desvanecer-se (e, em seguida, desaparecer ), uma vez clicado de opacidade total a 0. Aqui está como eu fiz:

Animation a = new AlphaAnimation(1.00f, 0.00f);

a.setDuration(1000);
a.setAnimationListener(new AnimationListener() {

    public void onAnimationStart(Animation animation) {
        // TODO Auto-generated method stub

    }

    public void onAnimationRepeat(Animation animation) {
        // TODO Auto-generated method stub

    }

    public void onAnimationEnd(Animation animation) {
        yourView.setVisibility(View.GONE);

    }
});

yourView.startAnimation(a);