質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

2回答

6340閲覧

Android,Javaでフェードインアウトのアニメーションをさせる。

Hydrangea

総合スコア32

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2014/09/17 06:56

ImageViewを2秒でフェードインして再び2秒でフェードアウトする計4秒のアニメーションを実装したいです。
いろいろなサイトを参考にしているのですがどうもうまくアニメーションが表示されません。
Alphaアニメーションを削除すると普通に表示されるのですが・・・。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

interpolatorを元にした解決法です。

lang

1Animation fadeIn = new AlphaAnimation(0, 1); 2fadeIn.setInterpolator(new DecelerateInterpolator()); 3fadeIn.setDuration(2000); 4 5Animation fadeOut = new AlphaAnimation(1, 0); 6fadeOut.setInterpolator(new AccelerateInterpolator()); 7fadeOut.setStartOffset(2000); 8fadeOut.setDuration(2000); 9 10AnimationSet animation = new AnimationSet(false); //falseに変更しましょう 11animation.addAnimation(fadeIn); 12animation.addAnimation(fadeOut); 13this.setAnimation(animation);

投稿2014/09/18 02:30

radiohead0317

総合スコア66

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ObjectAnimatorというクラスを使った方法もあります。大体こんな感じになります
以下のサイトを参考にしました。ご参考まで
http://techblog.yahoo.co.jp/programming/androidiphone/

lang

1final ImageView imageView = (ImageView)findViewById(R.id.image); // フェードインアウトさせたいImageView 2ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat( imageView, "alpha", 0f, 1f ); // フェードインアウトさせたいImageViewとどのアルファ値からどのアルファ値まで変化させたいか指定 3objectAnimator1.setDuration(2000); // 何秒かけるか指定(ミリ秒) 4objectAnimator1.addListener( new AnimatorListener() { 5 @Override 6 public void onAnimationStart(Animator arg0) {} 7 @Override 8 public void onAnimationRepeat(Animator arg0) {} 9 @Override 10 public void onAnimationEnd(Animator arg0) { // objectAnimator1で指定したアニメーションが終わった際に呼ばれるコールバック 11 ObjectAnimator objectAnimator2 = ObjectAnimator.ofFloat( imageView, "alpha", 1f, 0f ); 12 objectAnimator2.setDuration(2000); 13 objectAnimator2.start(); // また新たにImageViewのアルファ値を戻してアニメーションさせる 14 } 15 @Override 16 public void onAnimationCancel(Animator arg0) {} 17}); 18objectAnimator1.start();

投稿2014/09/27 04:04

ueno

総合スコア221

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Hydrangea

2014/09/29 02:09

回答ありがとうございます!参考になりました!!
ueno

2014/09/29 02:15

いえいえ!お役にたて幸いです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問