[Android] TransitionDrawable クロス・フェード animation

LayerDrawableの拡張で、first layerとsecond layerのクロスフェードをさせることができます。
 

Android Studio 3.0.1
Android 8.1.0

 



cross-fade

 
AlphaAnimationではAlpha値を変化させてfede in/out を実現していましたが、TransitionDrawableはfirst layerとsecond layerのcross-fade効果をImageViewに設定できます。
 

 

TransitionDrawable

 
最初の画像とフェード後の画像を2枚@drawableに配置
同じdrawableにtransitionを記述した下のようなxmlファイルも置きます。
 
animation.xml

 
レイアウトファイルでImageViewをセットして、その背景として先のanimation.xmlを設定します。(srcにするとエラーになります)
 

 

 

サンプルコード

 
MainActivity.java

 
activity_main.xml

 
strings.xml

 

サンプル動画

 

 
setCrossFadeEnabled(boolean)
これは設定した画像で効果が分からないことがあります。
trueの場合は、最初の画像が消えていきますが
falseにすると最初の画像も残ります。背景を透明にした2枚の画像ではそれが明確です。
 
 
関連ページ:

 
References:
TransitionDrawable
LayerDrawable

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加


 


ページのトップへ戻る




シェアする

  • このエントリーをはてなブックマークに追加

フォローする