[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

シェアする

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

フォローする