public void SetCardImage(int drawableId, bool vertical) { int objectAnimation = vertical ? Resource.Animation.flipping_out_vert : Resource.Animation.flipping_out; int backAnim = Resource.Animation.fade_out; CompatibilityAnimation compatibilityAnimationOut = new CompatibilityAnimation(Context, objectAnimation, backAnim); if (cardImageLayout.ChildCount > 0) { ImageView imageView = (ImageView)cardImageLayout.GetChildAt(0); compatibilityAnimationOut.Duration = 350; compatibilityAnimationOut.AnimatioEnd += () => Handler.Post(() => cardImageLayout.RemoveView(imageView)); compatibilityAnimationOut.StartAnimation(imageView); } ImageView imageView2 = new ImageView(Context); imageView2.SetImageResource(drawableId); imageView2.Visibility = ViewStates.Invisible; cardImageLayout.AddView(imageView2); objectAnimation = vertical ? Resource.Animation.flipping_in_vert : Resource.Animation.flipping_in; backAnim = Resource.Animation.fade_in; CompatibilityAnimation compatibilityAnimationIn = new CompatibilityAnimation(Context, objectAnimation, backAnim); compatibilityAnimationIn.Duration = 350; compatibilityAnimationIn.Delay = 350; compatibilityAnimationIn.AnimationStart += () => imageView2.Visibility = ViewStates.Visible; compatibilityAnimationIn.StartAnimation(imageView2); }
public void SetCardImage(int drawbleId, bool vertical) { // If this is already our card image, don't reanimate if (drawbleId == currentDrawableId) { return; } currentDrawableId = drawbleId; int objAnim = vertical ? Resource.Animation.flipping_out_vert : Resource.Animation.flipping_out; int bakAnim = Resource.Animation.fade_out; CompatibilityAnimation compatibilityAnimationOut = new CompatibilityAnimation(Context, objAnim, bakAnim); if (ChildCount > 0) { ImageView imageView = (ImageView)GetChildAt(0); compatibilityAnimationOut.Duration = 350; compatibilityAnimationOut.AnimatioEnd = () => Handler.Post(() => RemoveView(imageView)); compatibilityAnimationOut.StartAnimation(imageView); } ImageView imageView2 = new ImageView(Context); imageView2.SetImageResource(drawbleId); imageView2.Visibility = ViewStates.Invisible; AddView(imageView2); objAnim = vertical ? Resource.Animation.flipping_in_vert : Resource.Animation.flipping_in; bakAnim = Resource.Animation.fade_in; CompatibilityAnimation compatibilityAnimationIn = new CompatibilityAnimation(Context, objAnim, bakAnim); compatibilityAnimationIn.Duration = 350; compatibilityAnimationIn.Delay = 350; compatibilityAnimationIn.AnimationStart += () => { imageView2.Visibility = ViewStates.Visible; }; compatibilityAnimationIn.StartAnimation(imageView2); }