Android TransitionDrawableをプログラムで初期化する

画像のクロスフェードの方法を探している際、
TransitionDrawableというのがありました。

画像を3枚以上重ねて順番にフェードしていく動作を実現したかったので
このクラスで動的に複数のImageViewを格納したら出来るかと思ったのですが、
どうやら2枚までしか使えなかったため、別の方法にしました。

xmlの記載の方法はこちらを参考にさせて頂きました。
http://www.k-sugi.sakura.ne.jp/java/android/1995/

動的に初期化する方法が探しても見つからなかったためメモしておきます。
アクティビティを継承したクラス内で実行する場合を想定してます。

[java]
TransitionDrawable td = new TransitionDrawable(
new Drawable[]{
this.getResources().getDrawable(R.drawable.[drawableのリソース]),
this.getResources().getDrawable(R.drawable.[drawableのリソース])
}
);
(任意のImageView).setImageDrawable(td);
td.startTransition(duration);

[/java]

コメントを残す

メールアドレスが公開されることはありません。