web-dev-qa-db-ja.com

Androidアクティビティ画面で画像のフェードインを行う方法は?

Android Activity画面に写真を表示し、淡いモノトーンセピアから最終的なフルカラーまで徐々にフェードインを続けます。 GraphicオブジェクトのJava Image/BufferedImageでそれを行う方法は知っていますが、残念ながらAndroidプログラミング環境については何も知りません。誰も助けてもらえますか?

39
Hiroshi Iwatani

こんにちは、あなたはフェードインのためにこれを行うことができます:

  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 を使用する必要があります。

77
Jorgesys

クリックして、画像を完全な不透明度から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);
52
Ricky

そのための1つの方法は、アニメーションセットを使用することです。こちらをご覧ください。

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

セピア色の背景/画像から好きなものにフェードすることができます...

6
Mike Droid