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

LayerDrawableの拡張で、first layerとsecond layerのクロスフェードをさせることができます。
 
1x1.trans - [Android] TransitionDrawable クロス・フェード animation


Android Studio 3.5.3
API 29

 




cross-fade

 
AlphaAnimationではAlpha値を変化させてfede in/out を実現していましたが、TransitionDrawableはfirst layerとsecond layerのcross-fade効果をImageViewに設定できます。
 
1x1.trans - [Android] TransitionDrawable クロス・フェード animation

 

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

シェアする

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

フォローする