2010-04-08 32 views
37

Chciałbym wyświetlić zdjęcie na ekranie Aktywności Androida, wykonując stopniowe i ciągłe przejście od bladej monotonnej sepii do ostatecznego pełnego koloru. Wiem, jak to zrobić na obrazie Java Image/BufferedImage dla obiektu graficznego, ale niestety nic nie wiem o środowisku programistycznym Androida. Czy ktoś mógłby pomóc?Jak zrobić zanikanie obrazu na ekranie aktywności Androida?

Odpowiedz

6

Jedną z metod jest użycie zestawu animacji. Spójrz tutaj;

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

Kilka przykładów I Kod zrobić (nieskończonej pętli zanikanie w tym przykładzie);

W pliku animacji .xml;

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

W pliku java;

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

Można znikną z sepii tle/zdjęcie, aby cokolwiek chcesz ...

+0

Thanks Jorge i Mike. Spróbuję twoich sposobów robienia. –

76

Hi Hiroshi można to zrobić za 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 

i wewnątrz res \ anim \ folder fadein.xml plików animacja

<?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"/> 
</set> 

ale do stopniowego zaniku z sepii do pełnego koloru, yo u musi korzystać TransitionDrawable

+4

Działa dobrze. Prawdopodobnie nie będziesz potrzebować 'android: repeatCount =" infinite "', choć ... –

50

chciałem obraz zanikać (a potem znikają) po kliknięciu z pełnym kryciem 0. Oto jak to zrobiłem:

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); 
+0

dzięki temu pomógł mi z animacji wewnątrz recyclerview – AndyRoid

Powiązane problemy