Как сделать исчезновение изображения на экране Android Activity? - PullRequest
39 голосов
/ 08 апреля 2010

Я бы хотел отобразить фотографию на экране Android Activity с постепенным и непрерывным переходом от бледно-монотонной сепии к окончательному полноцветному изображению. Я знаю, как сделать это на Java Image / BufferedImage для объекта Graphic, но, к сожалению, я ничего не знаю для среды программирования Android. Может ли кто-нибудь помочь?

Ответы [ 3 ]

77 голосов
/ 08 апреля 2010

Привет Хироши, вы можете сделать это для появления:

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

и внутри вашей папки res \ anim \ файл анимации fadein.xml

<?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>

, но для постепенного перехода от сепии к полноцветному, вы должны использовать TransitionDrawable

51 голосов
/ 17 июня 2011

Я хотел, чтобы изображение исчезало (а затем исчезало), когда щелкнул с полной непрозрачностью до 0. Вот как я это сделал:

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);
6 голосов
/ 08 апреля 2010

Один из способов для этого - использовать набор анимации.Смотрите здесь;

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

Пример кода, который я сделал (бесконечный цикл исчезает в этом примере);

В файле анимации .xml;

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

В java-файле;

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

Вы можете исчезнуть с фона / картинки сепии на любую, какую захотите ...

...